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.