Given a compact operator, it is well-known that the Spectrum consists only of eigenvalues and possibly 0. Now I'm thinking about the inverse implication with additional conditions.
So, given a normal operator T such that
$\sigma(T) \subseteq \sigma_p(T) \cup \{ 0 \} $
and such that $\sigma_p(T)$ has no non-zero accumulation points and no non-zero eigenvalue $\lambda$ of infinite multiplicity (i.e. such that $\dim \ker (\lambda - T) = \infty$).
Then, I have a source that states that $T$ is compact (used in the proof of 6.14 in Invariant Subspaces by Rosenthal and Radjavi).
Actually, now that I've written it down I think it's also possible that I only need the latter two conditions. Sorry if the solution is obvious and I'm not seeing the wood for the rees and thanks in advance.
The continuous Functional Calculus will give you want you want, under your assumptions. If $\lambda \ne 0$ is a point of the spectrum, you can construct a continuous function $F_{\epsilon}$ that is $1$ at $\lambda$ and is $0$ on the remaining part of the spectrum. Then $P_{\lambda}=F_{\epsilon}(T)$ is selfadjoint and $P_{\lambda}^2=P_{\lambda}$. Because $(z-\lambda)F_{\epsilon}(z)$ is identically $0$ on the spectrum, then $TP_{\lambda}=\lambda P_{\lambda}$. You end up with $P_{\lambda}$ being the orthogonal projection onto $\mathcal{N}(T-\lambda I)$, a space which you have assumed to be finite-dimensional.
Let $\epsilon > 0$. The functional calculus can be used to construct a finite rank operator $T_{\epsilon}$ such that $\|T-T_{\epsilon}\| < \epsilon$ as follows. First, there exists $r \in (0,\epsilon)$ such that $\sigma(T)\cap\{ z : |z|=r \}=\emptyset$; this follows from your assumption that there is no finite non-zero point of accumulation of the spectrum. There are at most a finite number of points in $\sigma(T)\cap\{\lambda : |\lambda| > r \}$. Therefore, there is a continuous function $F_{\epsilon}$ on $\mathbb{C}$ such that $$ |F_{\epsilon}(z)| \le 1 \mbox{ for all $z\in\mathbb{C}$, and } F_{\epsilon}(z)= \left\{\begin{array}{ll} 1, & |z| \le r \\ 0, & |z| > r, z\in \sigma(T). \end{array} \right. $$ Let $G_{\epsilon}(z)=1-F_{\epsilon}(z)$. Then $I=F_{\epsilon}(T)+G_{\epsilon}(T)$. Both $F_{\epsilon}(T)$ and $G_{\epsilon}(T)$ are projections because they're either $0$ or $1$ at every point of the spectrum, which makes them idempotent and selfadjoint. You can further decompose $G_{\epsilon}(T)$ into functions that are $0$ on every one of the finite number of points in $\sigma(T)\cap\{\lambda : |\lambda| > r \}$, except for one point where the function is $1$; that gives $$ G_{\epsilon}(T) = \sum_{\lambda\in\sigma(T),\;|\lambda| > r}P_{\lambda} $$ where $P_{\lambda}$ is the orthogonal projection onto $\mathcal{N}(T-\lambda I)$. Therefore, $$ T = TF_{\epsilon}(T)+\sum_{\lambda\in\sigma(T),\;|\lambda| > r}\lambda P_{\lambda}, $$ and $$ \|TF_{\epsilon}(T)\|=\sup_{z\in\sigma(T)}|zF_{\epsilon}(z)| \le r < \epsilon. $$ Hence, $T$ is a norm limit of finite-rank operators $\sum_{\lambda\in\sigma(T),\;|\lambda| > r}\lambda P_{\lambda}$.