The main idea is that if $a_n=rad(a_n)$ for some $n \in \mathbb{N} $, then we can proceed by a simple induction and finish the proof.
Thus, we need to prove that $\exists \, n\in \mathbb{N}$ such that $a_n$ is square-free. Therefore, if $a_1$ is square-free we are done. Now, let us the define the Square Part, $SQ(n)$ of a positive integer $n$ by $SQ(n)=\frac{n}{rad(n)}$.
Now, if $a_1$ is not square-free. Let $p$ denote the smallest prime that does not divide $a_1$.
Also, notice that $rad(a_1) \mid rad(a_n) $ $\forall \, n \in \mathbb{N}$.
Now, $a_{n+1}=rad(a_n)(SQ(a_n)+1)$. Thus, $SQ(a_{n+1})>SQ(a_{n})$, iff $rad(a_{n+1})=rad(a_{n})$.
Let $p$ denote the smallest prime that does not divide $a_1$.
Therefore, $\exists 2 \, \le i \le p$, such that $p \mid a_i$. Thus, $SQ(a_{i+1}) \le \frac{SQ(a_1)+i-1}{p} \le SQ(a_1)-1$.
We can continue the above logic by selecting the smallest prime factor of $a_{i+1}$ and hence ensure that $\exists \, n\in \mathbb{N} $, such that $SQ(a_n)$ to $1$. But if $SQ(a_n)=1$, then $a_n$ is necessarily square-free.