Для начала: славянские названия месяцев привязаны к сельскохозяйственным сезонам, из этого вытекает, что одно и то же название на разной географической широте соответствует разному времени (месяцу). Извините за ссылку на Вики https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%B0%D0%B2%D1%8F%D0%BD%D1%81%D0%BA%D0%B8%D0%B5_%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BC%D0%B5%D1%81%D1%8F%D1%86%D0%B5%D0%B2
Видимо по этой причине исконно славянские названия смогли остаться в странах, не слишком сильно протяжённых по широте: Белоруссия, Польша, Чехия, Хорватия.
Это к тому, почему остались.
С другой стороны, древняя Русь имеет, с одной стороны, достаточно широкое протяжение по широте (сельскохозяйственный год под Новгородом, надо полагать, сильно отличается от оного под Киевом), с другой - имеет приличные контакты с Византией, что дополнительно могло способствовать принятию некоей "нейтральной" системы именования месяцев в году. Разумеется, не в один момент, почему традиционные названия месяцев встречаются некоторое время наряду с латинскими. Также нельзя не учитывать влияния римско-католической и православной церквей, миссионеры которых несли с собой и независимую от местных названий систему именования месяцев в году.
Теперь об Украине и украинском языке. Может я не прав, но современный украинский язык создавался специально с целью быть максимально непохожим на русский, с одной стороны, и имел большое давление со стороны языка польского с другой. Учитывая это, принятие польско-славянской системы наименования месяцев для украинского языка видится вполне логичным. Хотя, как и многие решения в нём - глупым.
С ув.
Алексей Андреев