I know this is an old thread, but... This is a very strange way to make changes to the game, which is the reason for the incompatibility. You're essentially deep-copying the Steam Turbine, changing it, then removing the old one. Any changes any mods make to the Steam Turbine are thus lost, as you don't even attempt to preserve settings from the original turbine. Instead of hard-coding stats for your turbine, you can pull them from data.raw.generator["steam-turbine"]. That way, if any mods make change to it before you, you'll pull those changes.
Unfortunately, that won't help with Nuclear Power Rebalance, because that mod does all of its changes during the data stage (for some reason), meaning you don't have any way on your side to ensure yours runs after their. You could put in an optional dependence for NPR to ensure yours runs after, though, which will allow you to copy the settings they changed into your new turbine.
However, you're also removing a prototype from the game, which will delete people's buildings. I'm pretty sure that you can just edit the Steam Turbine's prototype, rather than replacing it with a different-named one. Any prototype entries from the old one that don't apply to the new one will simply be disregarded when building prototypes on game load. If you HAVE to remove one turbine and replace it with another, at least use a migration script to "rename" the old prototype to your newer one. That way, people should be able to keep their constructed turbines. Not sure how well that works when renaming from one prototype type to another, though.