The problem you are having is common in my neck of the woods. It’s caused by an iron bacteria that’s in the water. The bacteria thrives in the water heater. The cold isn’t affected. The other problem is there’s not enough hot water being used to keep it flushed out. The only way to get rid of it is to bleach the system. You will need to drain a quart of water out of the heater and add quart bleach. You can either remove the anode rod or the cold water line. Let stand for 2 hours. At that time, start at the closest hot tap until you get the bleach smell and shut off and go to the next one and so on. Wait another 2 hours and start flushing at the first tap until bleach smell is gone and so on. This kills the bacteria in the heater as well as the piping. If you change the water heater, most heaters don’t last that long, you’ll still need to bleach the system. Just add bleach to heater and fill. If the house is on a well, You may also want to contact a well company and have the well treated as well. I’ve even seen this problem on city water. Mike