It is very easy to eliminate your confusion because it comes from a single word:
O(n) represents the upper bound of the function.
That's incorrect. The correct statement is:
O(n) represents an upper bound of the function.
Big-O notation does not mean that the function named in the notation is the least upper bound, just that it is an upper bound.
When we rewrite your question as:
How can we say that O(n) is an upper bound when O(n2) is comparatively bigger bound and O(n3) is much bigger bound?
the question becomes clear. There are no humans taller than 100 meters tall; that's an upper bound on human height. 200 meters and 10000000 meters are also upper bounds; the existence of larger upper bounds does not mean that a smaller upper bound is not also an upper bound. None of these are the least upper bound.
Now, in your example O(n) happens to be the least upper bound on the function you give. There are also larger upper bounds, as you note, and therefore those are not the least upper bounds.