This question is a very insightful and difficult question that can't be answered using a few paragraphs. Let me try.
- You need to note that using '-더-' ending itself indicates the past tense in itself. For example:
철수는 어제 집에서 놀더라. Cheolsu played at home yesterday.
The sentence above doesn't have the same meaning as "철수는 어제 집에서 놀았다" which describes the fact (action) that happened yesterday. However, the example sentence describes what happened yesterday as if it were happening now to express a kind of unexpected or a little surprising situation. That's why it doesn't use "놀았더라". In other words, in this case the present tense is replacing the past tense as there is no issue in doing so. Also, you need to note that using "놀았더라" sounds a little awkward than "놀더라".
- The reason the present tense can replace the past tense is you are describing the third person's action, not yours. Therefore, using '-더-' for the past action for the first person sounds very weird. For example:
나는 어제 집에서 놀더라. 나는 어제 집에서 놀았더라. (They don't make any sense at all).
Conclusion (1): '-더-' ending in its present tense can't be used for the first person to indicate a past action (verb) or state (adjective). For example, 너 어제 많이 먹더라 (You ate a lot yesterday), 너 어제 예쁘더라 (You looked pretty yesterday), 너 어제 말 잘 하더라 (You talked well yesterday), etc. are all okay. They all convey a little bit of unexpectedness or surprise. But NOT 나 어제 많이 먹더라.
The reason why I used the above example is '-더-' ending is the root (stem) ending for'-더니' ending. It could be preceded by ‘-으시-’, ‘-었-’, ‘-겠-’, and followed by ‘-라’, ‘-냐’, ‘-니’, ‘-구나’, ‘-구려’, etc. If you study just '-더니' ending, you won't be able to understand other constructions.
- As you expected, the above rule applies to '-더니' ending. Let me repeat, '-더-' ending can't be used for the first person to indicate a past action (verb) or status (adjective). Therefore,
어제 술을 많이 마시더니 병이 났나 봐요. (Literally) Because he drank a lot yesterday,
he may have got ill.
This sentence uses the third person (Michael) as a subject. That's why it can use the present tense form, 마시더니. You can use "마셨더니" here, but it is not required.
방에 침대가 없어서 바닥에서 잤더니 허리가 아파요. (Literally) As I slept on the floor because there was no bed, my back aches.
Since the above sentence is using the first person, you should use the past tense, "잤더니" to indicate the past tense. If you use "자더니", it will automatically indicate the second or third person as in:
어제 바닥에서 자더니 허리가 아픈가봐요. (Literally) Because (s)he slept on the floor, (s)he seems to have a backache.
Conclusion (2): '-더니' ending in its present tense can't be used for the first person to indicate a past action (verb) or state (adjective).
A side note: As your Korean progresses, you will understand this more clearly, i.e., why Korean works this strange way. As you know, Korean and Japanese don't use a subject (주어) very often. It is often omitted when there is surrounding context. Without this kind of mechanism (using the present tense for the past), it is extremely difficult to differentiate the first person subject from second or third person. You will learn more as you get more proficient in Korean.