Can't find a flaw in that proof:
Induction by the length of derived series.
Base: if $[G, G]=e$ then the group is abelian...
Assume that statement is true for n-1.
We have group $G$ with the derived series length $n$, and a subgroup $H$.
$[G, G]=G'$ has derived series of length $n-1$, so $H \cap G'$ is finitely generated.
$H/(H\cap G')$ is a subgroup of finitely generated abelian subgroup $G/G'$. So $H$ is finitely generated.