Why some language names have their own kanji, while others don't?
For example, we know that 中国語 is for chinese, 英語 is for english and 韓国 is for Korean, but for Spanish we have スペイン語, for German there is ドイツ語, for Russian we type ロシア語 and etc.
Looks like that Japanese includes those names by turning the words into Katakana, at least for some of them, but why English has their own kanji and it wasn't turned on katakana (for example, like "エングリス語")?
Is there a complete list for languages names in Japanese?
One correction: エングリス語→イギリス語.
Japan did originally use kanji for countries and major foreign cities:
...The list goes on and on.
At some point, likely as hiragana became more dominant, katakana became the more common way to write the country name. Possibly also because of the abstract nature and other potential readings of the kanji it was more precise (and took less time) to write it in katakana.
Certain elements still survive. For a presta valve for a bicycle tire (tyre) valve, it would be called 仏式 (french-type), 米式 for schrader valve (American-type), or 英式 for a Woods/Dunlop valve (English-type). Italian restaurants might use the kanji for イタリア料理（伊太利亜料理）in the name as well. Many modern Japanese can recognize the names even if they do not normally write them themselves.
There was really no reason to change the reading for countries that already employed Chinese characters, as they were using the original and mutually recognized characters for that country.
They used to assign kanjis to language names based on the sound, not the meaning. Believe it or not, that's how hiragana and katakana evolved from kanji.
German can be written as 独語 and, if memory serves, Spanish can be written as 西語. I am not familiar with the precise chronology or reason, but at some point, it was more common to use ateji to write the names of countries (or at least some countries) rather than katakana, and in some cases, the ateji have stuck even if the “norm” has emerged to write the names of other countries and languages in katakana.
I think, it's because English, Chinese and Korean languages have their own names in Japanese, because this countries have their local/original name in Japanese. The rest of countries' names are borrowed from other languages. As a general rule, in Japanese, words that are borrowed from other languages usually are supposed to be written in katakana (not hiragana), and only words that are considered to be originally Japanese are supposed to be written in hiragana and/or kanji.
There is some list for languages names: https://blogs.transparent.com/japanese/names-of-different-foreign-languages-in-japanese/