*Ich bin eingeschlafen* translates to *I have fallen asleep* (present perfect tense). The perfect auxiliary verb of *einschlafen* is *sein*, not *haben*.

*Müssen* is the auxiliary verb to express [epistemic modality][1]: *from the circumstances it seems the only logical conclusion that I have fallen asleep*. The meaning is the same as of English *must* in *must have fallen asleep*.

The combination of auxiliary + present perfect infinitive is the sentence you already know:

> Ich muss <sub>*(modal auxiliary, finite)*</sub> {eingeschlafen <sub>*(past participle)*</sub> sein <sub>*(present perfect auxiliary, infinite)*</sub>}<sub>present perfect infinitive</sub>.

Note that in English, due to the relatedness of both Germanic languages, it's *exactly* the same -- the modal auxiliary is finite, the perfect auxiliary is infinite:

> He must *(finite)* have *(infinite, otherwise it would be has)* fallen (perfect participle) asleep.

***Must<sub>1</sub> have<sub>2</sub> fallen<sub>3</sub> asleep* becomes *muss<sub>1</sub> eingeschlafen<sub>3</sub> sein<sub>2</sub>*** (because German is a object-verb, not verb-object language).

  [1]: https://en.wikipedia.org/wiki/Epistemic_modality