$G$ is a group and $N \lhd G$, let $a \in G$ then $o(Na) \big| o(a)$.
Where $o(a)$ means order of $a$ and $o(Na)$ means order of the right coset $Na$ of $G$.
My attempt:
Let $o(a) = p$, then $(Na)^p=Na^p=Ne=N$. So $o(Na)$ must divide $p$.
Am I jumping some hoops in the last sentence "So $o(Na)$ must divide $p$." here? Do I need to justify it?
You need to justify that. Actually, the same argument shows a slightly more general statement.
As you did, let $m := o(g)$. Then $f(g)^m = f(g^m) = f(e) = e$. Let $n := o(f(g))$. Then $n$ is the smallest positive number such that $f(g)^k = e$ holds. As freshman proposed, use the Euclid algorithm: there are integers $q$ and $r$ such that $m = qn + r$ and $0 \le r < n$. So we have $$ e = f(g)^m = f(g)^{qn + r} = (f(g)^n)^qf(g)^r = e^qf(g)^r =f(g)^r.$$ By the minimality of $n$, we get $r = 0$ from $r < n$. This means $n \mid m$.