Consider a state represented by a vector

(1)with arbitrary $a_0 \dots a_{2^n-1}$. Consider $a_i$ starting with $i=0$.

If $a_i = 0$, repeat the process with $a_{i+1}$. We are guaranteed to eventually encounter $a_k \neq 0$ because the vector is by definition unit length.

If $a_i$ is real and positive, the vector is already in the desired form.

Otherwise, $a_i$ can be represented as $a_i = re^{i\phi}$, with $r$ a non-negative (in fact, positive) real. Multiply $a_0, \dots, a_{2^n-1}$ by $e^{-i\phi}$. The result is by definition a vector representing an equivalent state, with amplitudes $b_0 \dots b_{i-1} = 0$ and $b_i = r$, where r is a positive real. Therefore, the result is in the desired canonical form.