Whilst we likely will not ever have a definite answer to this question, we can make some reasonable assumptions as to why these resistances were added. First of all I think we can safely rule out any sort of error like those that occurred in Gen 1, since Gold/Silver were developed in far better conditions than Red/Blue, and any mistake would have been corrected a lot earlier. So there was at least some sort of decision made here, not just a development oversight like Bug and Poison in Gen 1.
But beyond that, we can't do much more than just guess. But I think some of the following reasoning has merit:
In Gen 2, a type matchup error from Gen 1 was fixed, and Ghost's effectiveness on Psychic was made 2× instead of 0. This change made Ghost a much better typing, so it's possible that in turn, the developers had Steel resist it to balance the change made with Ghost's interaction with Psychic. This is especially likely on the basis that they would have been careful with how Ghost performed offensively: since there were only a couple of (bad) offensive Ghost moves in Gen 1, they wouldn't have known how good it already was.
The Dark type was also introduced as a measure to balance the overpowered Psychic type from Gen 1. As such, it would have been favourable already, as it became the best option to deal with Psychic-type Pokemon. Obviously the developers would need a way to counteract this, so it's possible that giving Steel a resistance to Dark was the most practical option from a balance standpoint. Keep in mind that Steel was also a brand new type in Gen 2, so they would have wanted to make it useful in its own way -- Fighting would have been the only type that resisted Dark if Steel hadn't come along.
Steel was clearly designed to be a defensive type. To this day it leads every type in the game in terms of resistances, and is a key factor in the popularity of Fighting, Fire and Ground moves as coverage. Even now that it is strong against Fairy, it is not very good offensively. It absolutely would have made sense during Gen 2's development to stack resistances onto Steel so that it wouldn't be a liability. If Steel hadn't been given these resistances, it's very possible that it would have become one of the worst types in the game.
Any explanation relating to the balance of the game makes a lot of sense here, since Dark and Steel were introduced to balance the game after Gen 1 was released with many problems in this area.
So I think the answer to your question is basically, Steel resisted Ghost and Dark because it was good from a balance standpoint. It's likely they only removed the resistances because they ceased to balance the game, after the Fairy type came along and made some waves on the matchup chart.