Does this proof work for infinite regular languages
The problem with your argument is in the interpretation of the second lemma. Closure under union says "If $L_1$ and $L_2$ are regular languages, then $L_1\cup L_2$ is regular." By induction, then, the union of any finite collection of regular languages is regular. You cannot, however, conclude that the union of an arbitrary collection of regular languages is regular, as Raphael pointed out, since your observation
$$
L=\bigcup_{e\,\in\, L}\{e\}
$$
is true for any language at all, regular or not, so since a single string language is regular, then every language would be regular.



What you could do is exploit some other closure properties of regular languages. For instance


If $L_1$ and $L_2$ are regular languages, so is $L_1\cap L_2$.
If $L$ is a regular language, its complement $\overline{L}$ is too.
We can thus write the set difference $A\setminus B$ as $A\cap\overline{B}$ so regular languages are closed under set difference.
If $L$ is any regular language and $e\in L$ is any string in $L$, then $L\setminus \{e\}$ must also be regular.