If one understands this statement: "Chicken eggs, in general, take 21 full days to hatch", nothing is complicated. It's like saying " You must be 18 years old to buy cigarettes."
When 24 hrs have passed since setting, one full day of incubation has been completed exactly like an infant's 1st year. At completion of the 1st Day, the egg is 1 day old and stays 1 day old till Day 2 is completed and then its 2 Day old and so forth until Day 21 is completed. So technically eggs hatch on the 22nd Day (because its more than 21 days old) but since 22nd Day is not completed it is still 21 days old. Just like a person stays minor even if they 17 years and 364 days old.
So someone decided it would be easier for people to calculate if they call the setting day as Day Zero and so forth. This worked well as a calculator but just created confusion. If they had simply used a technically correct terminology like "Eggs are 1 Day old" instead of Day 1, it wouldn't have been confusing. Anything less than 1 day old could have been called ...... hrs old. instead of on Day Zero.
Anyways, it is what it is! For those folks who want to use the calculator, your chicks will hatch on Day 21. For folks who want to use 1st Day, 2nd Day, so forth, your chicks will hatch on the 22nd Day.