The spectrum consists of all values $\lambda$ for which $T-\lambda I$ does not have a continuous inverse. Eigenvalues always lie in the spectrum, but some of the values
in the spectrum may not be eigenvalues. As mentioned before, the spectrum is always closed.
Of course, 0 CAN be an eigenvalue, because it is an eigenvalue for $T=0$. But it does not have to be an eigenvalue. Let $\ell^2$ be the space of all infinite sequences
$(z_1,z_2,\dots)$ with $\sum_i |z_i|^2<\infty$, and define $T:\ell^2\to \ell^2$ by
$T(z_1,z_2,\dots)=(z_1,z_2/2,z_3/3,\dots)$. Then $T$ is compact. The map $T$ is injective, so $0$ is not an eigenvalue. $1/n$ is an eigenvalue for all $n$, and these eigenvalues converge to 0. The element $(1,1/2,1/3,\dots)\in \ell^2$ does not lie in the image of $T$
($(1,1,\dots)$ does not lie in $\ell^2$) so $T$ is not surjective. This means that $0$ lies in the spectrum. But all nonzero values in the spectrum of a compact operator must be eigenvalues.