Now, obviously, the "real life" reason was the precise thing that you would think, someone at Marvel (perhaps even Starlin) said, "Hey, this guy really shouldn't have white hair. He's not old and yet he looks old because of the hair"). That reminds me of how Rogue was introduced with white streaks in her hair and despite specifically being labeled as a teenager, artists drew her as looking old because she had white streaks in her hair! Well, SOME artists, that is.
In Captain Marvel #29 (by Starlin and Al Milgrom), Captain Marvel is captured by the cosmic being known as Eon, who tells Captain Marvel that "Captain Marvel, the warrior, must be destroyed!"
Being a cosmic being, of course, Eon couldn't just be cool about it and explain that he was saying that Captain Marvel had to stop being a warrior and start learning to think as, if not a pacifist, at least not someone who only thinks about life in terms of warfare. It's like, come on, dude, be cool.
Eventually, Captain Marvel agrees that his approach has been the wrong one and so he becomes Eon's new champion and is given new powers (and a slightly new costume) and, of course, blond hair...
How he KNOWS his hair has changed is that he now has cosmic awareness!
Pretty clever way to write a hair color change in there, huh?
Starlin is a clever dude.
Thanks for the question, Ste! If anyone else has a question about comics, feel free to drop me a line at email@example.com (you CAN tweet me, as well, at Brian_Cronin, but I'd prefer e-mail. It is easier to keep track of e-mailed questions than tweeted ones).