Let $p(k)$ denote the greatest odd divisor of $k$. For a fixed integer $n \ge 2$, let $A_1 = \{j \mid 2^n \le j < 2^{n+1}, p(j) \equiv 1$ $[4]\}$ and $A_2 = \{i \mid 2^n \le i < 2^{n+1}, p(i) \equiv 3$ $[4]\}$. Representing the integers in $[2^n, 2^{n+1})$ in binary $1000...000 \rightarrow 11111...111$, we find easily that $\left\vert{A_1}\right\vert = \left\vert{A_2}\right\vert = 2^{n-1}$. Therefore $a_{2^{n+1} - 1} = a_{2^n - 1} = 1$ for all $n \ge 1$.
Now partition the sequence $\{a_k\}_{k \ge 1}$ into sets $\ell_1 = \{1\}$, $\ell_2 = \{2, 1\}$, $\ell_3 = \{2, 3, 2, 1\}$, ..., $\ell_i = \{a_j \mid 2^{i-1} \le j < 2^{i}\}$. We prove that $\max\{\ell_{i+1}\} = \max\{\ell_{i}\} + 1$. If the claim is true, the sequence is unbounded and hits $1$ infinitely many times, so every positive integer occurs in the sequence infinitely many times.
To prove the claim, again make use of binary representations. For every integer $a \in$ $[2^i, 2^{i+1})$, after removing trailing zeros from its binary representation, if the resulting binary string ends in '$01$', $p(a) \equiv 1$ $[4]$, if it ends in '$11$', $p(a) \equiv 3$ $[4]$. Because $a_{2^{n+1} - 1} = a_{2^n - 1} = 1$, $a_{2^{n+1}} = a_{2^n} = 2$. Imagine running through the binary strings $10000000..00 \rightarrow 111111...11111$ (from $2^i \rightarrow 2^{i+1}$, *not including $2^{i+1}$). Partition the interval $[2^i, 2^{i+1}) = I_1 \cup I_2 \cup I_3$, where $I_1 = [2^i, 2^i + 2^{i-2})$, $I_2 = [2^i + 2^{i-2}, 2^i + 2^{i-1})$, $I_3 = [2^i + 2^{i-1}, 2^{i+1})$. Map every integer (binary string) $b_1 \in I_1$ to another integer (binary string) $b_1' \in [2^{i-1}, 2^{i-1}+ 2^{i-2})$, by replacing '$10$' at the leftmost end of the string by '$1$', so that $p(b_1) \equiv p(b_1')$. It follows that $a_{b_1} = a_{b_1'}$. Now $a_{2^i + 2^{i-2}} = a_{2^{i-1} + 2^{i-2}} + 2$ because $p(2^i + 2^{i-2}) \equiv 1$ but $p(2^{i-1} + 2^{i-2}) \equiv 3$. Again, mapping the binary string $b_2 \in (2^i + 2^{i-2}, 2^i + 2^{i-1})$ to $b_2' \in (2^{i-1} + 2^{i-2}, 2^i)$ by applying the same procedure as before (replacing leftmost '$10$' by '$1$') we get $p(b_2) \equiv p(b_2')$ and therefore $a_{b_2} + 2 = a_{b_2'}$. Also, we have $a_{2^i + 2^{i-1}} = 2 = a_{2^{i-1}}$. Finally, map every integer $b_3 \in [2^i + 2^{i-1}, 2^{i+1})$ to $b_3' \in [2^{i-1}, 2^i)$ by removing the leftmost '$1$' from the binary string of $b_3$. We have again $a_{b_3} = a_{b_3'}$.
The above observations can be described as follows: $\ell_i$ is obtained from $\ell_{i-1}$ by taking the first $2^{i-2}$ terms of $\ell_{i-1}$, then taking the last $2^{i-2}$ terms of $\ell_{i-1}$ but adding $2$ to each term, and finally taking each term of $\ell_{i-1}$ from beginning to end. Therefore $\max\{\ell_{i}\} = \max\{\max\{\ell_{i-1}\}, \max\{\ell_{i-2}\} + 2\}\} = \max\{\ell_{i-2}\} + 2$ by induction. This implies $\max\{\ell_{i+1}\} = \max\{\ell_{i}\} + 1$.