By the fundamental theorem for finite abelian groups the number of abelian groups of order $n=p_1^{n_1}\dots p_k^{n_k}$ is the product of the partition numbers of $n_i$.
Note that the partition number of $2$ is $2$ and the partition number of $4$ is $5$. Since $10^6=2^6\cdot 5^6$ such an $n$ therefore exists.
The number of non-isomorphic Abelian groups depends on the partition number of the exponents in the prime factorization. Let $P(k)$ be the number of ways to partition $k$ (for example, $P(4) = 5$, since we have $4, 3+1, 2+2, 2+1+1$, and $1+1+1+1$). Then for $n=p_1^{e_1} \ldots p_r^{e_r}$, there are
$$\prod_i P(e_i)$$
non-isomorphic Abelian groups of order $n$. You missed $2+2$ among the ways to partition $4$, corresponding to $\mathbb Z/(2^2\mathbb Z) \times \mathbb Z/(2^2\mathbb Z) = \mathbb Z/4\mathbb Z \times \mathbb Z/4\mathbb Z$.
You can use this formula to answer the original question. The first few partition numbers are:
P(1) = 1 1
P(2) = 2 2, 1+1
P(3) = 3 3, 2+1, 1+1+1
P(4) = 5 4, 3+1, 2+2, 2+1+1, 1+1+1+1
P(5) = 7 5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1
and they obviously increase from here. Now, if there are $4$ Abelian groups of order $n$, then we must have $e_1=e_2=2$, and we choose as bases the two smallest primes. Thus the number we are looking for is $2^23^2=36$.
Best Answer
They're not. Essentially there are as many finitely many abelian groups of order $2^n$ as there are partitions of $n$. In other words, if you can write $$ n = a_1 + \cdots + a_k, \quad k \ge 1, \quad a_i \ge 1 $$ Then the group $$ \mathbb Z /2^{a_1}\mathbb Z \times \cdots \times \mathbb Z / 2^{a_k}\mathbb Z $$ is obviously an abelian group, and it has order $2^{a_1} \cdots 2^{a_k} = 2^{a_1 + \cdots + a_k} = 2^n$. You can use induction on $k$ to show that "essentially distinct" partitions give rise to distinct groups (by essentially, I mean that we should consider $4 = 1+3 = 3+1$ as the same partition of $4$, where as $2+2 = 3+1$ are distinct ; if two partitions of $n$ are just a re-arrangement of the finite sum up to permuting terms, they give rise to the same abelian group). One way not to worry about unicity of the partition is to simply assume that $a_i \le a_{i+1}$.
For those who know or are interested, this is a corollary of the classification of finitely generated $R$-modules when $R$ is a PID in terms of elementary divisors ; see Dummit & Foote's Abstract Algebra, Chapter 12.1.
If you want to prove any of this, feel free to ask for more help.
Hope that helps,