As a German, I can confirm that the root meaning of the word is "mute" because… apparently our medevial ancestors didn't speak Slavic all that fluently. What can I say...?
Yep, the German was the one who "nie mówi / nemluví / не молвит (doesn't speak), which gives the adjective niemy/němý/ немой (mute) and hence, the substantive meaning "the mute one, the German : niemiec / němec / немец.
I used Polish, Czech and Russian but it's used in most Slavic languages (not sure for Bulgarian but for the rest, it is) and it was also borrowed by non-Slavs like Romanians or Hungarians (they say német).
In this case the cognate masculine form in Bulgarian is written the same as in Russian – „немец“. However, Bulgarian usually has a hard ‘е’ similar to what it is normally in Romanian, so if it was a Romanian word with this pronunciation it wold be written something like ~/nemeț/, while in Russian it is pronounced softly as the E in ‘eu’, ‘este’ or ‘el’ (~/niemieț/).
We also have a second equally as used form which is cognate to German – „германец“ (~/germaneț/). We call the language „немски“ (~/nemski/) and stuff related to Germany „германски“ (~/germanski/), but for people the two forms are interchangeable in most cases.
Mute is „ням“ (~/neam/ sg, masc), „няма“ (~/neamă/ sg fem), „неми“ (~/nemi/ pl, mac+fem). The shift in this vowel between Я and Е is regular for literary Bulgarian, and there are some Bulgarian dialects which use ‘е’ for the singular form as well. It is also consistent with the ‘ie’ in your Polish example and the ‘ě’ in your Czech example. It is where we wrote the letter yat (ѣ) up until a few decades ago, and where some people still write it even today (although not codified as part of the official Bulgarian orthography anymore).