This follows from the cyclicity of the trace, i.e. the property that
$$\mathrm{Tr}(AB)=\mathrm{Tr}(BA),$$
which extends to the cyclic permutation $\mathrm{Tr}(ABC\cdots XYZ)=\mathrm{Tr}(BC\cdots XYZA)$ for larger products. Thus, if you expand $f$ in its Taylor series, you get
\begin{align}
\mathrm{Tr}\left(f(G^\dagger G)\right)
& =
\mathrm{Tr}\left(\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}(G^\dagger G)^n\right)
\\& =
\mathrm{Tr}\left(\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}G^\dagger G\cdots G^\dagger G\right)
\\& =
\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}\mathrm{Tr}\left(G^\dagger G\cdots G^\dagger G\right)
\\& =
\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}\mathrm{Tr}\left(GG^\dagger \cdots G^\dagger GG^\dagger \right)
\\& =
\mathrm{Tr}\left(\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}GG^\dagger \cdots G^\dagger GG^\dagger \right)
\\& =
\mathrm{Tr}\left(\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}(G G^\dagger)^n\right)
\\& =
\mathrm{Tr}\left(f(GG^\dagger )\right)
.
\end{align}
Alternatively, you can calculate the trace via the eigenvalues of $B=G^\dagger G$ and $C=GG^\dagger$, in which case you need to relate the two sets of eigenvalues; this can be done by noting that if $B\psi=b\psi$ gives an eigenpair of $B$, then
$$C(G\psi)=GG^\dagger G\psi=GB\psi=Gb\psi=b(G\psi)$$
also gives an eigenpair with the same eigenvalue. (In infinite dimensions, of course, this argument needs to be handled carefully, in case $\psi$ is normalized but $G\psi$ is not as well-behaved, but you're assuming loads in just getting to the point-spectrum sum you use in the first place.)
These are probably the two main ideas behind most proofs of that fact - the rest of the details revolve around what properties $G$ is known to have, and how you're defining $f$ at an operator in the first place.