The counting argument here is tricky and I am not sure I am aware of all cases. The most obvious subgroups are the ones of the form $A_1 \times \cdots \times A_n$ with $A_k$ either $Z_2$ or $\{0\}$.
However, it occurred to me that $\{(a_1, \cdots, a_n) | \sum a_k = 0 \mod 2\}$ is a subgroup not in the above form. Call this group $S(Z_2^n)$. Then $S(Z_2^x)\times S(Z_2^{y})$ for $x+y=n$ is also a subgroup.
So I think we can do something as follows: Pick one of the $2^n$ subgroups that come from a cartesian product. Then work out all the partitions of the remaining $Z_2$ terms and apply the possibilities in applying the $S$ operator.
Can someone help me work this out?
A vague recursive argument suggests to me that with $c_n$ the number of subgroups, $c_{n+1} = 4(n+1) c_{n}$. If this is true, I would still love to see the subgroups counted in multiple ways.
The number of subgroups of order $2^k$ in $Z_2^n$ is given by the Gaussian polynomial $$\frac{(2^n-1)(2^{n-1}-1)\cdots(2^{n-k+1}-1)}{(2^k-1)(2^{k-1}-1)\cdots(2-1)}.$$ Add these up over $k$ for the whole number of subgroups. I don't know if there's a nice closed formula for the sum.