I'm trying to understand the following Theorem and proof in Apostol's Modular Functions and Dirichlet Series in Number Theory. The $J$-invariant is defined by
$ J(\tau)=\frac{g_2(1,\tau)}{g_2(1,\tau)^3-27g_3(1,\tau)^2}$
($g_{2k}$ being the Eisenstein series) and the fundamental region $R_{\Gamma}$ is
$R_{\Gamma}=\{\tau\in H:|\tau|>1,|\tau+\bar{\tau}|<1\}$ with $\rho=e^{\pi i/3}.$
Theorem: The function $J$ takes on every value exactly once in the closure of $R_{\Gamma}$. In particular, at the vertices we have $J(\rho)=0,J(i)=1,J(i\infty)=\infty$. There is a first order pole at $i\infty$, a triple zero at $\rho$, and $J(\tau)-1$ has a double zero at $\tau=i$
Proof:First we verify that $g_2(\rho)=0$ and $g_3(i)=0$. Since $\rho^3=1$ and $\rho^2+\rho+1=0$ we have
$\frac{1}{60}g_2(\rho)=\sum \frac{1}{(m+n\rho)^4}=\frac{1}{\rho}\sum \frac{1}{(n-m-m\rho)^4}=\frac{1}{\rho}\sum \frac{1}{(N+M\rho)^4}=\frac{1}{60\rho}g_2(\rho),$
so $g_2(\rho)=0$. A similar argument shows $g_3(i)=0$. Therefore
$J(\rho)=\frac{g_2(\rho)^3}{\Delta(\rho)}=0,J(i)=\frac{g_2(i)^3}{g_2(i)^3}=2.$
The multiplicities follow from the above Theorem.
(slightly edited for legibility; the Theorem referenced at the end is just the result that counting multiplicity $J$ has the same number of zeros and poles)
My problem is that I have no idea how what is shown in the proof implies surjectivity. I understand that if the fundamental region was a compact Riemann surface then this would follow since $J(i\infty)=\infty$ would imply the co-domain is the Riemann sphere; but I don't understand how $R_{\Gamma}$ is such, perhaps I'm missing something?
I'm writing an undergraduate thesis that only requires this function to be surjective. So, I'm trying to minimize the amount of machinery used.