Well, for "Україна", I expect because we're talking different languages that use different scripts. Same reason one says "Tsibili, Georgia" in English rather than "თბილისი, საქართველო".
I don't know about "Ukraine" in German, but all countries register their official English name at the UN, and Ukraine has registered "Ukraine" rather than "Ukraina", and it looks like "Ukraine" in German is the same as "Ukraine" in English. I suppose that if Ukraine wanted to be "Ukraina" rather than "Ukraine", at least in English, they could reregister it.
The name "Romania" (România) was first brought to Paris by young Romanian intellectuals in the 1840s, where it was spelled "Roumanie" in order to differentiate Romanians (fr.: Roumains) from Romans (fr.: Romains). The French spelling version (Roumanie) spread then over many countries, such as Britain, Spain, Italy, Germany.
In English, the name of the country was originally borrowed from French "Roumania" (<"Roumanie"), then evolved into "Rumania", but progressively fell out of use after World War II in favour of the name used officially: "Romania".
EDIT2: Note that Ivory Coast and Turkey are the two countries that registered official English names that use non-English characters ("Côte d'Ivoire" and "Türkiye"), and that those two typically get ignored in favor of their Basic Latin forms, including, for example, by Wikipedia, since it's a pain to type them on many input systems.
For the same reason we call Germany Germany and not Deutschland?
Has the Ukrainian government expressed the desire for English language users to charge how we refer to their country like Turkey/Türkiye has? I only remember them not wanting to be called the Ukraine anymore as if they were just a region of another place.