Why doesn't Kosovo have its own ccTLD yet?
Solution 1:
ICANN explains this pretty well in their blog (https://www.icann.org/news/blog/abkhazia-kosovo-south-ossetia-transnistria-my-oh-my):
As at this time, Abkhazia, Kosovo, Transnistria, Somaliland, South Ossetia and others are not in the ISO 3166-1 standard, so ICANN is not in a position to grant any corresponding country-code domain for them. By strictly adhering to the ISO 3166-1 standard, we ensure that ICANN remains neutral by relying upon a widely recognised and impartial international standard.
Solution 2:
Because Kosovo is not (fully) legally recognized. As a result it doesn't have a UN seat either.
Quite a political question for SF :)