You don't need $S$ to be a finite set. This is true for any subset $S\subseteq \mathscr{H}$.
First of all notice that $S^{\perp}$ is a closed subspace of $\mathscr{H}$ (using continuity of inner product) and $S \subseteq (S^{\perp})^{\perp}$ for any subset $S \subseteq \mathscr{H}$. Thus $Span(S) \subseteq (S^{\perp})^{\perp} \Rightarrow \overline{Span(S)} \subseteq (S^{\perp})^{\perp}$. Further notice that if $C \subseteq D$, then $D^{\perp} \subseteq C^{\perp}$. So, we have
\begin{align*}
S \subseteq \overline{Span(S)} & & \Longrightarrow & & \left(\overline{Span(S)}\right)^{\perp} \subseteq S^{\perp} & & \Longrightarrow & & (S^{\perp})^{\perp} \subseteq \left(\left(\overline{Span(S)}\right)^{\perp}\right)^{\perp}.
\end{align*}
But $\left(\left(\overline{Span(S)}\right)^{\perp}\right)^{\perp} = \overline{Span(S)}$ (because if $M$ is a closed subspace of a Hilbert space $\mathscr{H}$, then $(M^{\perp})^{\perp} = M.$) Thus, $(S^{\perp})^{\perp} = \overline{Span(S)}.$