Here are some examples:
Consider the function:
$f: A \to B$ where $A = \{a_1,a_2\}$, and $B = \{b_1,b_2,b_3\}$ defined by:
$f(a_1) = b_1, f(a_2) = b_2$.
Define $g:B \to A$ by:
$g(b_1) = a_1, g(b_2) = a_2, g(b_3) = a_1$ and
$h: B\to A$ by:
$h(b_1) = a_1, h(b_2) = a_2,h(b_3) = a_2$.
It should be clear that:
$g \circ f = h \circ f = 1_A$, but $g \neq h$, so we have two distinct left-inverses for $f$.
Note that above, $g$ is surjective, and that $f$ is a right-inverse for $g$.
If we define: $k: A \to B$ by: $k(a_1) = b_3,k(a_2) = b_2$ it is clear $f \neq k$ but both $f,k$ are right-inverses for $g$.
**********
In the older literature, injective is called "one-to-one" which is more descriptive (the word injective is mainly due to the influence of Bourbaki): if the co-domain is considerably larger than the domain, we'll typically have elements in the co-domain "left-over" (to which we do not map), and for a left-inverse we are free to map these anywhere we please (since they are never seen by the composition).
Surjective is also called "onto", it is often the case that a surjective function is "many-to-one", this often happens when the domain is considerably larger than the co-domain. Since we have multiple elements in some (perhaps even all) of the pre-images, there is more than one way to choose from them to define a right-inverse function.
Injective and surjective are not quite "opposites", since functions are DIRECTED, the domain and co-domain play asymmetrical roles (this is quite different than relations, which in a sense are more "balanced").
In set theory, a function $f:A \to B$ is defined so:
$f = S \subseteq A \times B: (a_1,b_1),(a_1,b_2) \in S \implies b_1 = b_2$ and $\forall a \in A, \exists b \in B: (a,b) \in S$.
this ensures that every element of $A$ is paired with just one element of $B$; for a given $a \in A$ this element is typically denoted $f(a)$ to indicate its dependence on $a$.
There is a natural association of the concept of function with "transformation"; this idea is already clear in ancient mathematical problems, where they might be stated so:
"Take a quantity, and divide it into equal parts, then add a third part of the whole: what is the result?"
which in modern terms might be illustrated so:
$x \to \dfrac{x}{2} \to \dfrac{x}{2} + \dfrac{x}{3}$
Functions, then, originally represented "things we did to numbers", and it was quite some time before it was recognized that functions could be defined to "act" on any kind of collection.
There is very little about functions that cannot be understood by examining functions where $A,B$ are finite, and have very few members. I urge you to look at a few.