Происходит от праслав. *melko, от кот. в числе прочего произошли: ст.-слав. млѣко (др.-греч. γάλα), др.-русск. молоко, русск., укр. молоко, белор. малако, болг. мляко, хорв. mliko/mlijeko, словенск., польск., сербск. mleko, чешск. mléko, словацк. mlieko, кашубск. mlóu̯ko, в.-луж., н.-луж. mloko (слав. *melko восходит к праиндоевр. *melg-).
Ответ взят из
Викисловаря, а он, в свою очередь, ссылается на словарь Фасмера.
Буква "о" вставилось в слово больше тысячи лет назад, в ту эпоху, когда в восточнославянском языке было принято произносить слова более распевно и с кучей гласных. Но вариант через "е" ("млеко") до сих пор встречется в русском языке, например, во фразе "млечный путь".