Your assumption is incorrect. The commutator is not zero because the state function returned from $a_-a_+$ is not the same as that returned from $a_+a_-$. One may end up in the original energy eigenstate, but there are scalar constants which are part of the result, too. The scalar constants depend on the particular state you operate on and whether the operator is $a_-$ or $a_+$.
The primary basis of this is that $p$ and $x$ don't commute: $\left[ p,x\right]=-i\hbar.$
(within a sign). That last term is not zero