If I remember correctly, when talking about number of hours, we use pure Korean numbers. However I always hear in the drama that 24 hours in Korean is 이십사시간 instead of 스물네시간. Why is that the case? I know that for bigger numbers like sixty something, Sino-Korean numbers may be used, but why is it also the case for 24?
The simple answer is that it "sounds more natural". More specifically, native Korean numbers are used mostly for counting things and listing quantities, whereas Sino-Korean numbers are used to express things we in English have actual words for. There are of course exceptions (for both sino and native), and when you get above 40 (or so) people tend to use Sino-Korean numbers no matter what. Some Koreans will actually struggle with naming the higher native Korean numbers, like 60, 70, 80 etc, because they never actually use them.
Anway, getting back to your question, 24 hours, just like in English, isn't always used to mean 24 actual hours, but rather "around the clock" and so on. As such, 이십사시간 kind of sounds more natural since you aren't actually talking about the specific number of hours. Instead, you're sort of using it as a word itself, if that makes sense.
"24 시간" whether it is read as "이십사시간" or "스물네시간" is not a pure Korean since 시간(時間) is Sino-Korean.
Pure Korean number system is used to count things. When someone says "스물네시간," it means the exact number of hours. For example, "스물네시간 내내 공부만 했어 (I studied 24 hours straight)"
Sino-Korean number system is used to represent an idea, a concept. 이십사시간 is closer to an idea such as "24/7" "이십사시 편의점 (24/7 convenience store)" or just pretend it's just like an English word written in Korean like "투엔티포" since Sino-Korean words entered our language as foreign words.
The correct way is to strictly use pure Korean number system to count things. However in daily conversations this rule doesn't always apply when the number is more than 40. So in terms of hours (quantity) you spent, it is safe to use pure Korean as long as it is not more than 40 or so.
"스물두시간 걸렸어 (it took 22 hours)" sounds more natural than "이십이시간 걸렸어" because the number is less than 40. On the other hand, you rarely hear a person say "쉰다섯시간 걸렸어(it took 55 hours.)" in this case, "오십오시간 걸렸어" sounds more natural because the number is more than 50.
So, the rule of thumb for a lazy person (like me):
- In formal situations, ALWAYS use pure Korean numbers to count.
- In daily conversation, just pretend there is no pure Korean numbers bigger than 40 :)