For the first question, generally not. The group $(\mathbb Z/2\mathbb Z)^n$ has
$$\frac{(2^n-1)(2^{n-1}-1)}3$$
subgroups of order $4$, which grows much more quickly than $2^n$.
To give a guess as what the answer to the second should look like, one can count the subgroups of $(\mathbb Z/2\mathbb Z)^n$ explicitly. They are in bijection with the (hyper)planes in $\mathbb F_2^n$ passing through $0$. Such a hyperplane of dimension $k$ is defined by $k$ linearly independent vectors in $\mathbb F_2^n$, which we may choose in
$$(2^n-1)\cdots (2^n-2^{k-1})$$
ways; the number of ways to choose such vectors given the hyperplane is
$$(2^k-1)\cdots (2^k-2^{k-1}),$$
and so the total number of subgroups of $(\mathbb Z/2\mathbb Z)^n$ is (taking out the factors of $2$)
$$\sum_{k=0}^n \frac{(2^n-1)(2^{n-1}-1)\cdots (2^{n-k+1}-1)}{(2^k-1)(2^{k-1}-1)\cdots (2^1-1)}.$$
This sequence is on OEIS. The largest term in the above sum is around $k=n/2$, and all other terms are much smaller, so one can show that this number is around $2^{n^2/4}$.
So, if $G$ is abelian of order $N$, it might have at least $N^{\log_2 N/4}$ subgroups. I suspect that this group has the largest number of subgroups over all groups of similar order, asymptotically, but I haven't proven this.