I need to prove that for an isomorphism $\phi$, the following is true:
$$\phi(g)^n = 1 \iff g^n = 1.$$
We know that
$$g^n = 1 \implies g\cdot g \cdots g = 1\implies \phi(g\cdot g \cdots g) = \phi(1) \implies \phi(g)\cdot\phi(g)\cdots\phi(g) = 1 \\\implies \phi(g)^n = 1.$$
The same argument can be applied to show that $\phi(g)^n = 1 \implies g^n = 1$.
But what can I say when $\phi$ is just an homomorphism? For me, everything is still valid. What's the problem?
If $\phi$ is a homomorphism, but not an isomorphism, then $g^n = 1 \implies \phi(g)^n = 1$ for exactly the reason you state, but the converse doesn't necessarily hold. That is, there could be $g \in G$ such that $\phi(g)^n = 1$ but $g^n \neq 1$. For example, consider $\phi : \mathbb{R}\setminus\{0\} \to \mathbb{Z}_2$ given by $x \mapsto \operatorname{sign}(x)$. Although $\phi(-2)^2 = 1$, $(-2)^2 \neq 1$.
If you write out the proof that $\phi(g)^n = 1 \implies g^n = 1$ for an isomorphism $\phi$, you will get to a point where $\phi(g^n) = 1$ from which you would like to conclude that $g^n = 1$. It is precisely here where the hypothesis that $\phi$ is an isomorphism is needed. As $\phi$ is an isomorphism, it has trivial kernel, so $g^n = 1$. If $\phi$ were just a homomorphism, you could not conclude that $\phi$ had trivial kernel; that is, $g^n$ may be some non-trivial element of the kernel (as in the example above).
Note that the only property of $\phi$ that was needed to prove $\phi(g)^n = 1 \implies g^n = 1$ is that $\phi$ has trivial kernel (i.e. $\phi$ is injective). While isomorphisms are injective, there are injective homomorphisms which are not isomorphisms (namely the non-surjective ones). So the logical equivalence $\phi(g)^n = 1 \iff g^n = 1$ holds for injective homomorphisms $\phi$, not just isomorphisms.