Ring with finitely many zerodivisors
I assume the ring is meant to be commutative. This result is true only when $n>1$ and you can find an easy proof in the paper "Properties of rings with a finite number of zero divisors" of N. Ganesan (1964).
Let the $n$ zero-divisors of $R$ be $\{z_i\}, ~~i \in \{1,2,\dots,n\}$, and $I_i$ the annhilator of $z_i$. We assume $n \ge 1$. You've already proven that each $I_i$ is finite.
For any $z$ and $r \in R$, $zr$ is a zero divisor that is either a non-zero zero-divisor or 0. All elements $r'$ that are congruent to this $r$ in $R/I_i$ are such that $r'z_i = rz_i$. Therefore every class in $R/I_i$ is represented by a distinct zero-divisor in $R$, and the index of $I_i$ is finite.
We have therefore shown that $R$ is at least finite, and we'll say that it has $|R|$ elements. Each annhiliator $I_i$ has order $|I_i|$ and $[R:I_i]$, the index of $I_i$ in $R$ is $\frac{|R|}{|I_i|}.$
Because each element of $I_i$ is a zero-divisor, it must be that $|I_i| \leq n+1$. But since each representative in $R/I_i$ is also a zero divisor, $[R:I_i] = \frac{|R|}{|I_i|} \leq n+1$ as well. This gives $$|R| \leq |I_i|(n+1) \leq (n+1)^2$$ Which proves the theorem.