This is only an assumption because my command of the language is novice at best but I would assume that because "su", "ni", "in" and "a" are more literal/contextual translations of "in". You would or could never say that your physically in a time of day or month, so none of those would truly work (I know abstract but bare with me). "Di" on the other-hand does because it is translated mostly to "of" and my understand is that it means "of that" particular time.
I hope that helps some!
The answer is I TAKE a shower in the afternoon. In the US, if you say you "have a shower" (without the "in the afternoon") you are saying you have a shower in your home. In the US we TAKE a shower. It seems like maybe in other English speaking countries you would HAVE a shower but not really a common thing to say in the US. And it seems that DL uses more US phrasing (or at least to me it seems that way). But if you report it as a possible correct answer then they might change it. As far as the "I have 1 shower" answer, I've noticed that sometimes when you don't get the correct verb, they "correct" the answer to something using the incorrect verb you used. I used an incorrect verb on another lesson and it "corrected me" to the incorrect verb and "1" of whatever it was. That's just a glitch in their system. Try using Take instead of Have and the answer should be fine.
Why is "the" article needed before the word "afternoon"? My response "I take a shower in afternoon" was not accepted. Though I thought it makes more sense to talk about in afternoons in general when the verb is in prsenet simple tense. Was my answer an improper translation or just incorrect English sentence?