Если вкратце, то потому, что Германия - это латинское название, восходящее к, как ни смешно, кельтскому племени germani, в то время как немец - это славянское слово, коим те именовали более-менее всех западных европейцев. Хотя с последним есть нюансы: романоязычные народы бывали ещё и валахами и фрязью-франками. Фрязью, в частности, звали и итальянцев - именно переселенцы из Италии владели имениями, из которых потом сформировались подмосковные Фрязино и Фрязево.
До кучи, вся Европа западнее Германии зовёт эту страну Алемания - по названию племени алеманов. Под тем же названием она проходит и у арабов - Альман. В Латвии её называют Вация, а ирландцы и эстонцы, емнип, зовут немцев чем-то вроде сакса, потому что общались в первую очередь с саксонцами. Ну, и не для кого не секрет, что сами немцы зовут себя дойч и страну свою - Дойчлянд - по легенде, по названию племени Тевтонов, хотя на деле старогерманское thiuda означало просто "люди". Дойчлянд таким образом - "страна людей".
Почему такая путаница в названиях? Дело, видимо, в том, что кто такие дойчи самим дойчам стало понятно очень не сразу. На "людском языке" - вернее, "людских языках", ибо они довольно сильно различались и различаются до сих пор - говорило множество людей с совершенно разной самоидентификацией. Традиции живы до сих пор: попробуйте назовите коренного жителя Вюрцбурга баварцем, хоть Вюрцбург и находится в федеральной земле Бавария. Франк - и всё тут! Номинально же государственное образование, где в основном проживали немцы, называлось "Священная Римская Империя", и претендовало на то, что объединить под своей сенью и "людей", и галлов, и италийцев, и славян, и вообще всех, до кого руки дотянутся. Да и государством оно являлось весьма условно.
Слово Германия вновь открыли уже, видимо, только в Новое Время, тогда же, когда, чтобы объединить какой-то одной идеей англичан и шотландцев, в анналах отрыли кельтское племя бриттов и выдумали Британию, а для франкоязычных валлонов и нидерладноязычных фландров накопали германское племя бельгов, обозвав католическую часть Нидерландов Бельгией.
А почему у латышей Вация, не знаете?
(у литовцев, кстати, Вокетия)
Термин "немец" произошёл от слова "немой", то есть "не говорящий по-русски". Возможно, когда-то так называли всех иностранцев, а потом использование сузилось до одной национальности.
Это всего лишь трудности трансляции на русский язык и адаптации.
Например, на английском все соответствует: Germany (страна) - German (язык).
А как слово мОгучий пишется умник ?