For (1), it's literally just continuity. g is cts and |g(z_0)| > 0. By cty of g,, we can find R s.t.. |z-z0| < R => |g(z) - g(z_0)| < |g(z_0)|/2. Shrink r so that |z-z0| <R is always satisfied and you're done.
For (2), well, if we can write f as (z-z0)^m g(z), and g is never zero near z0, how can f be 0 unless z = z0?