I found this theorem in the second edition of Topics in Algebra by I.N. Herstein.
The statement of the theorem is: If $G$ is an abelian group of order $o(G)$, and if $p$ is a prime number, such that $p^\alpha|o(G)$, $p^{\alpha +1}\nmid o(G)$, then $G$ has a subgroup of order $p^\alpha$
I am just wondering whether the condition $p^{\alpha +1}\nmid o(G)$ is necessary or not because I am pretty sure I figured out a proof that doesn't require that fact.
The following is a "proof" of the theorem without the fact that $p^{\alpha +1}\nmid o(G)$
Proof:
We will prove this with induction on $\alpha$. This is clearly true for $\alpha =0$. Let's say this is true for $\alpha = n$. Now consider the case where $\alpha=n+1>0$. So let $G$ be an abelian group such that $p^{n+1}|o(G)$.
According to Cauchy theorem for abelian group (Suppose $G$ is a finite abelian group and $p|o(G)$, where $p$ is a prime number. Then there is an element $a\neq e\in G$ such that $a^p=e$) we can pick an element $a\in G$ such that $o(a)=p$. Consider $N$ the cyclic group generated by $a$, clearly $o(N)=p$. It follows that $p^n|o(G/N)$. Clearly $G/N$ is also an abelian group, so by induction there exist a subgroup in $G/N$ whose order is $p^n$.
Let the element of that subgroup be $H=\{Na_1,Na_2,...,Na_{p^n}\}$. Clearly for any of those elements $Na_i$ there are exactly $o(N)=p$ elements $t$ in $G$ such that $Nt=Na_i$. So, consider all elements $t$ in $G$ such that $Nt$ is in $H$, let this set be $S$. Clearly there are $p^{n+1}$ elements in $S$. We will prove that $S$ is a subgroup of $G$
It is sufficient to prove that $S$ is closed under multiplication since $S$ is finite. $\forall t,k\in S$, $Nt=Na_i$ and $Nk=Na_j$ for some $i,j$. So since $H$ is a group then $\exists m$ such that $N(tk)=NtNk=Na_iNa_j=Na_m$, hence $N(tk)=Na_m$ which means $tk\in S$. So $S$ is closed under multiplication.
So, $S$ is a subgroup of $G$ with $p^{n+1}$ elements. Hence by induction the theorem is proved.