Assuming, as you say in your comment, that you are interested in retracts as subgroups $H \subset G$, here is a counterexample.
Consider the infinite dihedral group $D_\infty = \langle a,b \mid a^2 = b^2 = \text{Id}\rangle $. It is a finitely generated subgroup with infinitely many cyclic subgroups of order 2, every one of which is a retract. Here are some details.
The group $D_\infty$ has an infinite cyclic normal subgroup $Z \subset D_\infty$ of index $2$. The quotient group $D_\infty / Z$ is the finite cyclic group of order $2$ (apologies for the link, but, it is after all one of the best things ever).
Every element of the unique non-identity coset $D_\infty - Z$ is conjugate to $a$ and has order $2$, these elements have the form $r_n = (ab)^na$, they are all different, and so we have infinitely many subgroups $H_n = \langle r_n \rangle$ each of which is cyclic of order 2. Each such subgroup $H_n$ is a retract: we have a quotient homomorphism
$$g : D_\infty \mapsto D_\infty / Z \mapsto H_n
$$
and an inclusion
$$i : H_n \hookrightarrow D_\infty
$$
and the composition
$$H_n \xrightarrow{i} D_\infty \xrightarrow{g} H_n
$$
is the identity.