To clarify the legal German requirement noted in the article - the employee is entitled to 4 weeks holiday per year.
The 24 days mentioned assume the employee has a 6-day working week, which can not be very common anymore (historically this may have generally been true that people had to work Monday to Saturday).
Generally people have a 5-day working week, so only have an entitlement to 20 days paid holiday. But as mentioned, it is pretty normal that the employer offers 30 days (6 weeks based on a 5 day working week).
Public holidays are paid, although they are not movable, and if they fall on a weekend, the day is “lost”. but given that e.g. Bavaria gets 13 a year, it is likely that the employee gets at least 9 or 10 days off in the week. this year it is 12!
Also, some companies may provide company holidays on Christmas Eve and New Year’s eve in addition to the other holidays mentioned.
So in my case, my non-working days this year are:
30 - holiday
12 - weekday pulbic holidays
02 - Christmas/New Year eve company holiday
44
Plus 104 weekends
148
So working days = 217 (59,4% of days).
Of course, there is also paid sickness leave - up to 6 weeks PER sickness (so if you are ill for 6 weeks, return to work for one day, and are sick again, the 6 weeks start anew! Illnesses longer than 6 weeks cause health insurance based payments to be triggered), so maybe the average employee is ill for 1 or 2 weeks a year, meaning that a working year could be only 210 working days.
(with other days off allowed for childbirth, marriage, death in family etc…)
Furthermore, the maximum legal working hours per day are 10, and anything over the standard contractual hours (7.5 or 8 are usual) count as overtime. Most non-managerial level employees (so caller tariff-mitarbeiter) are entitled to time-off-in-lieu of overtime. This can be saved up and taken as additional days off. It is not unusual to find people saving up their overtime-compensation, and adding it to the 6 weeks holiday and being able to take off months at a time 