I think it is an issue of language "3 hens lay 3 eggs in 3 days" can be interpreted (as intended that each hen lays an egg only once every three days) or as implying that it is implied that they mean 3 eggs for each hen over the three days, meaning 1 egg per hen per day (incidentally closer to what actual commercial hens lay, not that this matters).
In practice "each" is optional if it seems implied from context. I mean, if you say "Our employees work 40 hours/week" it would really be weird to interpret it as anything other than each employee working 40 hours a week rather than all employees teaming up to work 40 hours in total. Same thing with hens teaming up to lay 3 eggs. If you mean that hens lay an egg once every three days then say that and the whole thing is far clearer.
Your example nails it. Now I get where the confusion comes form.
I'm not a native speaker and I guess it's not intuitive for me to insert an implicit "each" into the "puzzle" sentence. For me it sounded completely unambiguous. But if you subtextual "hear" an "each" in this sentence the wrong calculations start to make sense.
I've just tried to translate all the variants of the sentences into German (my primary langue) and indeed you would need a "jeweils" in both cases to be clear that you really mean "each". Your example with the employees would sound quite "unclean" without the "jeweils". One would understand it, but it sounds a bit wrong. But in English "Our employees work 40 hours/week" sounds just fine (at least for me).
I guess when I do calculations and "puzzles" in my head I do it in German… :-)
The imho intuitive answer is the right one.
I really tried to get what could be tricky about this question. But there is just nothing.
I have no clue how anybody could arrive at anything else[†] than 48. It's trivial. There is no "puzzle" at all.
† (As long as you don't consider RL biology, as than then there is no definite answer, only some probability.)