Finite index subgroup with free abelianization

This seems surprisingly difficult! Let's try and do it by induction on the nilpotency class of $G$. The result is clear for abelian groups.

Let $Z$ be the last nontrivial subgroup in the lower central series of $G$. So $Z \le G' \cap Z(G)$. By induction, $G$ has a finite index normal subgroup $H$ containing $Z$ such that the abelianization $H/ZH'$ of $H/Z$ is free abelian.

Since $G$ is nilpotent, $|G:H|$ finite implies $|G':H'|$ finite. So $|Z:Z \cap H'| = |H'Z:H'|$ is finite, and $H'Z/H'$ has a free abelian normal complement $K/H'$ in $H/H'$ with $|H:K|$ finite.

But $H = KZ$ and $Z$ is central imply $K' = H'$, and hence $K/K' = K/H'$ is free abelian.