The polynomial you mention is not the minimal polynomial of $A^n$ itself, but rather closely related to it. Since $A^n$ is diagonalizable, its minimal polynomial splits into linear factors. Say
$$p(x) = (x-\lambda_1)\cdots(x-\lambda_k)$$
where $p(A^n) = 0$. Of course this means that $A$ will satisfy
$$q(x) = (x^n - \lambda_1)\cdots(x^n-\lambda_k)$$
since the two polynomials are related by $p(x^n)=q(x)$.
The condition that $A$ is invertible is essentially covered by Nils Matthes in the comments. The key point of the proof is that the above polynomial splits into distinct linear factors, forcing the minimal polynomial of $A$ to do the same.
By assumption of algebraic closure, the terms of the form $x^n - \lambda$ splits into distinct linear factors for $\lambda \neq 0$. But if $\lambda = 0$ then we simply have $x^n$ which does not split into distinct factors. This no longer forces the minimal polynomial to have distinct factors, in fact the minimal polynomial may contain a factor of $x$, or $x^2$, or $x^3$ or ... (you see where I'm going with this). If the minimal polynomial contains $x^k$ for $k>1$ then $A$ is not diagonalizable. Forcing $A$ to be invertible gets rid of this problem term.