The names for a given language can be divided into exonyms and endonyms. Exonyms are the names given to the language (sometimes by extension, from the name given to the people who speak it) by foreigners and/or people who speak other languages. Endonyms are the names given to the language by the people who speak it. Exonyms can be simple adaptations of the main endonym to the phonology and morphology of the other language (such as French anglais and Spanish inglés for English), or they may be completely different (such as French allemand for German). Some languages don't have an endonym; I'd bet most of these are the languages of primitive or isolated ethnic groups.
German is an example of a language with many exonyms. Wikipedia says this is
because of Germany's geographic position in the centre of Europe, as
well as its long history as a non-united region of distinct tribes and
states.
So being the language of a large national entity that used to be made up of many tribal groups or of many smaller former states might be one factor.
In the case of Sranan, it's a lingua franca, i. e. by definition a language spoken by people of many different ethnic groups and linguistic backgrounds, as a second or auxiliary language, but it's also not the official or prestige language of an important national entity, which might have imposed on it one official endonym. As we see in the case of German, having a well-established endonym is not enough, but it would surely help.
The language (actually language family) currently known as Quechua is an example of an endonym imposed from the outside. When the Spanish conquistadors arrived in Peru the Inca Empire had just achieved its peak but as far as we know there was no unified name for the language spoken by the people around Cusco. The Spaniards called it lengua general; the natives referred to it as runa simi, "the language of people", and then they also used a word, /qitʃwa/
, which might have been the name for the temperate valleys of the Andes, and which the Spaniards transcribed as quichua or quechua.
To this day there's a squabble over whether Spanish should be called español or castellano, because Spain is made up of several linguistic communities and what most people call español (or its equivalent forms in other languages) is only the standard language derived from that of the old kingdom of Castille (just as modern standard Italian is derived from the Tuscan dialect). So it might be the case that the language of a national entity can have several endonyms because the different groups within that nation don't agree on them.