Does |xy| ≤ p in the pumping lemma count for all i?
Your mistake is in the following step:


  
  Split $w$ into $xyz$ as $x = \epsilon$, $y = a^p$, $z = 0^p 1$.
  


You're not allowed to choose how $w$ splits into $xyz$. You should show that for any way of splitting $w$ into $xyz$ such that $|xy| \leq p$ and $y \neq \epsilon$, there exists $i$ such that $xy^iz \notin L$.

Here is a similar "proof" that the language $01^*$ isn't regular:


Pick $w$ as $01^p$.
Split $w$ into $xyz$ as $x = \epsilon$, $y = 0$, $z = 1^p$.
Show that $xy^2z = 0^21^p$ is not in the language.


The proof of the pumping lemma will choose a different splitting, for example $x = 0$, $y = 1$, $z = 1^{p-1}$.