Number of roots of a sequence of a uniformly convergent holomorphic functions implies an upper bound for the number of roots of their limit
Solution 1:
It is a bit easier to prove the other way around:
If $f$ has $m$ roots in $G$ (counted with multiplicity) then there exists an $n_0 \in \Bbb N$ that for all $n \ge n_0$, $f_n$ has at least $m$ roots (counted with multiplicity).
Since the roots of $f$ can be separated into disjoint circles, it suffices to show:
If $D$ is a circle such that $D \subset G$ and $f$ has a single root $z_1$ in $D$ with multiplicity $m_1$, then there exists an $n_0 \in \Bbb N$ that for all $n \ge n_0$, $f_n$ has $m_1$ roots in $D$ (counted with multiplicity).
Here one can use Rouché's theorem. Without loss of generality we can assume that $\overline D \subset G$ and $f$ is not zero on the boundary of $D$ (otherwise make the circle smaller). Then $$ \varepsilon := \frac 12 \min \{ |f(z)| : z \in \partial D \} $$ is strictly positive, and $f_n \to f$ uniformly on $\partial D$. Therefore there exists an $n_0 \in \Bbb N$ such that $$ | f_n(z) - f(z) | \le \varepsilon < | f(z) | $$ for all $z \in \partial D$ and $n \ge n_0$. It follows that $f_n$ and $f$ have the same number of roots in $D$ for $n \ge n_0$.