$\pi_n(X^n)$ free Abelian?

Joe Johnson 126's answer is incorrect; see Is it true that $\pi_n(X^{n-1})=0$ for $n>1$ if $X$ is $K(G,1)$ space?. Indeed, the claimed statement is very much not true for all CW-complexes. For instance, if $X=S^3$, then $\pi_4(X^4)=\pi_4(S^3)=\mathbb{Z}/2$.

Here is a correct answer. First of all, to address the first question, all your argument shows is that the map $\pi_n(X^n)\to\pi_n(X)$ is surjective. You know that every map $S^n\to X$ can be homotoped to a map $S^n\to X^n$, but it might be that two such maps are homotopic in $X$ but not in $X^n$. A homotopy of such maps is a map $S^n\times I\to X$, which by cellular approximation can only be homotoped to $X^{n+1}$, since $S^n\times I$ is $(n+1)$-dimensional. So you do have an isomorphism $\pi_n(X^{n+1})\to \pi_n(X)$.

Let's now solve the original problem. Note that by the argument above, $\pi_k(X^n)\cong \pi_k(X)$ for all $k<n$, so since $X$ is a $K(G,1)$, $\pi_k(X^n)$ is trivial for $k<n$ except for $k=1$. Let $Y$ be the universal cover of $X^n$; then $Y$ is also an $n$-dimensional CW-complex, and now $\pi_k(Y)=0$ for all $k<n$. By Hurewicz, we have $\pi_n(Y)\cong H_n(Y)$. But $H_n$ of any $n$-dimensional CW-complex is free abelian (because computing cellular homology, there are no nontrivial $(n+1)$-chains and hence no nontrivial $n$-boundaries, so $H_n$ is just the group of $n$-cycles, which is a subgroup of the free abelian group of $n$-chains). Thus $\pi_n(Y)$ is free abelian, and hence so is $\pi_n(X^n)\cong \pi_n(Y)$.