Under the axiom of choice it is quite simple to construct the bijection. We do it the following way:
Lemma: The axiom of choice implies the assertion that every surjective function admits an injective inverse.
Proof: Assuming the axiom of choice and $f\colon A\to B$ is onto $B$, let $A_b=\{a\in A\mid f(a)=b\}$. For every $b\in B$ we have that $A_b\neq\varnothing$ and therefore there is some a choice function $\check f(A_b)\in A_b$, since $b\mapsto A_b$ is a bijection we can define $\tilde f$ to be the map $b\mapsto \check f(A_b)$.
Now we have that $\tilde f$ is injective, and $f(\tilde f(b))=b$ by definition.
(While irrelevant to this case, there exists a proof in the other direction as well.)
Now we can simply turn the theorem you are seeking into the usual Cantor-Bernstein theorem.
Suppose $f\colon A\to B$ and $g\colon B\to A$ are surjective functions. Let $\tilde f\colon B\to A$ and $\tilde g\colon A\to B$ defined as in the lemma. By the Cantor-Bernstein theorem we have $h\colon A\to B$ which is a bijection.
As a side comment, I would recommend on defining cardinality in terms of injective functions rather than surjective functions. Of course that if the axiom of choice is assumed it is the same thing. However without the axiom of choice it the dual Cantor-Bernstein is provable without some choice, or without implying some choice. [T. Jech, The Axiom of Choice, Exercise 11.8, p. 162]
Therefore assuming injective functions makes cardinality an equivalence relation without the axiom of choice, while surjective functions will not form an equivalence relation, so $|A|=|B|$ and $|B|=|C|$ but we won't have $|A|=|C|$.