On the three options, having gone round this with a config about the same age as yours:
Dropping the room from device names going forward is the one I would pick, and the reason is not that the new pattern is better. It is that you now have two systems competing to tell you the same fact, and only one of them is maintained. The area is a field you can change in one click; the room baked into a device name is a string you have to remember to update. Keeping both means keeping them in sync by hand, forever.
The fear people have is that friendly names get useless — that you end up staring at a list of eleven things called "Light 1". In practice that is less bad than it sounds now, because areas are shown next to entities in the pickers and on cards in a way they simply were not when we all started doing this. The information did not disappear, it moved to somewhere that updates itself.
The honest counter-argument is the one about devices that move. If a bulb goes from the kitchen to the hall, its area updates and its entity ID does not, so you end up with light.kitchen_* in the hall. That is worse than the old scheme, where at least the wrong room was in a field you could edit. If you move things around a lot, neither option is clean and you are choosing which flavour of wrong you prefer.
What I would not do is retro-fix. Pick the rule, apply it to everything from here on, and leave the existing entities exactly as they are. A config with a visible date-line in it is annoying. A config where half the references are broken is a weekend.