Точно это никому неизвестно. Есть много всяких исследований на эту тему и множество разных версий. Причём, в Европе ЛГБТ тоже подразделяются по цветам. В Америке, например, слово GAY иногда употребляется не только по отношению к мужчинам-геям, но и как общее слово и для геев, и для лесби, и для бисексуалов. И общим цветом является как раз розовый. Вполне возможно, что отечественные лесбиянки потому и называют себя розовыми. Что касается геев, в Европе они в разное время обозначались разными цветами - их называли и лиловыми, и "фиолетовой силой", и так далее. Сейчас фиолетовыми называют трансгендеров, а бисексуалов - белыми. Стремление квиров идентифицировать себя с каким-либо цветом вполне может быть связано с противостоянием серой массе, которая выступает против них, недаром же они встают на всех митингах гей-прайда под радужные флаги, символизирующие, что все люди разные и мир гораздо разнообразнее, чем принято думать.
Что касается российских геев, есть версия, что слово "голубой" пошло от слов "голубок", "приголубить" и так далее. Есть факты, что в сталинское время геев в лагерях идентифицировали с красным цветом - таким образом хотели унизить победившую советскую власть, поскольку в то время геи считались неприкасаемыми. Но уже в 60-х годах появилось слово "голубой" - известна неприличная частушка, приписываемая Никите Богословскому, в которой уже упоминается это слово. Благодаря российской эмиграции слово "голубой" или "blue" уже и за границей всё чаще и чаще используют для обозначения мужчины-гомосексуала. А в Австралии, например, благодаря плохо расслышанному русскому слову "голубой" даже появилось странное словосочетание "girl-boy", намекающее на некоторую андрогинность мальчиков-геев.