Another condition is that the vector spaces need to be perpendicular. Here is the full proof.
Let $V_1, V_2$ be closed subspaces of the Hilbert space $H$ and let $p_{V_1}$ and $p_{V_2}$ denote the orthogonal projections on $V_1$ and $V_2$, respectively. Show that $p_{V_1} + p_{V_2}$ is a projection onto some closed subspace if and only if $V_1 \perp V_2$.
First, assume that $p_{V_1} + p_{V_2}$ is a projection. Thus, for any $x$, $p_{V_1}, p_{V_2}$, and $p_{V_1} + p_{V_2}$ are idempotents. Therefore,
\begin{equation}
\begin{split}
p_{V_1}(x) + p_{V_2}(x)
& = (p_{V_1} + p_{V_2})(x)\\
& = (p_{V_1} + p_{V_2})^2(x)\\
& = (p_{V_1} + p_{V_2}) \Big((p_{V_1} + p_{V_2})(x) \Big)\\
& = p_{V_1}\Big((p_{V_1} + p_{V_2})(x)\Big) + p_{V_2}\Big((p_{V_1} + p_{V_2})(x)\Big)\\
& = p_{V_1}p_{V_1}(x)+p_{V_1}p_{V_2}(x)+p_{V_2}p_{V_1}(x)+p_{V_2}p_{V_2}(x)\\
& = p_{V_1}(x)+p_{V_1}p_{V_2}(x)+p_{V_2}p_{V_1}(x)+p_{V_2}(x)\\
\end{split}
\end{equation}
which implies that
$$p_{V_1}p_{V_2}=-p_{V_2}p_{V_1}$$
For simplicity, denote $p_{V_1}=p$ and $p_{V_2}=q$.
Thus, for all $x$ we have that
$$pq=-qp$$
Using the fact that $p$ and $q$ are idempotent, by multiplying both sides of the equation by $p$ on the left and $q$ on the right we get
$$pq=-pqpq$$
Also notice that if we take $pq=-qp$ and multiply both sides from the left and from the right by $p$, we get
$$pqp=-pqp$$
But this means that for any $x$,
$$pqp(x)=pqp(\frac{1}{2}x)+pqp(\frac{1}{2}x)=0$$
Thus, multiplying both sides by $p$ on the left yields
$$pqpq(x)=0$$
for all $x$. Thus, from the first relation we obtained, we get
$$pq(x)=-pqpq(x)=0$$
Therefore, $\forall x \in V_2$, we get
$$pq(x)=p(x)=0$$
Thus, since $x$ was an arbitrary element of $V_2$, we get that $V_2 \perp V_1$.
Conversely, assume that $V_1 \perp V_2$. Since the sum of closed orthogonal subspaces of a Hilbert space is a closed subspace, we know that $V_1+V_2$ is a closed subspace of $H$. Let $V:=V_1+V_2$. Since $V$ is closed, $p_V$ is defined. Thus, to prove that $p_{V_1} + p_{V_2}$ is a projection, it is enough to show that
$$p_{V_1} + p_{V_2}=p_V$$
Let $x \in H$. Then $x=p_V(x)+p_{V^{\perp}}(x)$ Since $p_V(x) \in V$, $p_V(x)=x_1+x_2$, where $x_1 \in V_1$ and $x_2 \in V_2$. This gives us
\begin{equation}
\begin{split}
(p_{V_1} + p_{V_2})(x)
& =p_{V_1}(x) + p_{V_2}(x)\\
& =p_{V_1}\Big(p_V(x)+p_{V^{\perp}}(x)\Big) + p_{V_2}\Big(p_V(x)+p_{V^{\perp}}(x)\Big)\\
& =p_{V_1}\Big(x_1+x_2+p_{V^{\perp}}(x)\Big) + p_{V_2}\Big(x_1+x_2+p_{V^{\perp}}(x)\Big)\\
& =x_1+p_{V^1}p_{V^{\perp}}(x)+x_2+p_{V^2}p_{V^{\perp}}(x)\\
&=x_1+x_2\\
&=p_V(x)
\end{split}
\end{equation}
where we used the fact that $p_{V^1}p_{V^{\perp}}(x)=0$, since any element orthogonal to $V$ is orthogonal to $V_1$, and $p_{V^2}p_{V^{\perp}}(x)=0$, since any element orthogonal to $V$ is orthogonal to $V_2$. Thus, $p_{V_1} + p_{V_2}$ is a projection, as desired.