We need ##V \neq \{0\}## because eigenvectors are defined to be unequal the zero vector. Since ##A(0)=0## is always the case, it wouldn't make much sense to allow ##\vec{v}=0## as an eigenvector.
Here we have ##A^2=0##, which means that the entire image of the linear mapping that is represented by ##A## is contained in its kernel:
##im(A) = A(V) = \{w \in V \,\vert \, w=A(v) \text{ for some } v \in V\} \subseteq ker(A) = \{w \in V\,\vert \,A(w)=0\}##.
So all ##A(w)\neq 0## are eigenvectors of the eigenvalue ##0##. This proofs existence.
Your argument ##0=A^2(v)=A(A(v))=A(\lambda v)=\lambda^2 v## shows, like you've said, that ##\lambda = 0## is the only possible, which proofs uniqueness.
In general it isn't guaranteed that a matrix has eigenvalues. E.g. you could have complex eigenvalues although the matrix (and scalar field) are the real numbers: ##\begin{bmatrix}1&-2\\1&1\end{bmatrix}##. So one doesn't say ##A## has eigenvalues here, if only the reals are considered.