The new legislation does not affect the States that have forbid taking ala what happened in Kelo.
It punishes those that permit it by denying federal economic development money to the state for 2 years.
A second component of the legislation forbids the federal government from taking ala Kelo. This part of the legislation is necessary since no law a state passes could supercede the federal government if this part is not included.
Why should Congress punish a state for exercising one of their Constitutional powers? Say a future Supreme Court struck down Roe v. Wade. If a Democrat Congress passed a law mandating that any state that did away with legal abortion would lose some sort of federal funding for two years, would that be right? We may not agree with how Connecticut defined "public use" but it was their right to define it how they saw fit. If Congress sanctions a state for using eminent domain for obtaining land for a private developer or a sports stadium or whatever then what is to prevent a future Congress from sanctioning a state which did not allow eminent domain for a private developer or sports stadium or whatever? I would much rather leave that power in the hands of the state.