To be a little more precise on the 21 day thing. An egg does not have a day’s worth of development 2 seconds or two hours after you put it in the incubator. It takes 24 hours for the egg to have a day’s worth of development. A lot of people get that wrong. A good way to check yourself is that the day of the week you set them is the day of the week they should hatch. If you set them on a Friday, they should hatch on a Friday.
That’s all theory. In reality a lot of eggs don’t hatch after 21 days of development. There are several things that can make them early or late; heredity, humidity, how and how long they are stored, and even just basic differences in the eggs. A really big one is average incubating temperature. If your average incubating temperature is a little high, they can hatch a few days early. If it is a little cool, they can be late. I’ve had eggs pipping in the incubator when I went into lockdown. I’ve had eggs hatch two full days early under a broody more than once. Others have been equally late. The 21 days is a target to shoot for, but as long as they hatch within 24 hours either side of the 21 days, I figure they are on time.