My late fees are $5 for the first 10 minutes, $10 for the second 10 minutes and then one day's full rate for any time over the 20 minute mark. My contract also says that consistent late pickups may result in termination.
I do not work overtime and I tell all families when we meet that they are expected to be here on time. My contract also states that it takes approx. 5 minutes to get their child picked up so please not leave pickup until right at 5. I don't mind the odd time providing a family gives me a heads up (and apologizes for being late) but I do charge and think nothing of it. I only had 1 family a few years ago that I had issues with.
I would not have different contracts for different families. They all must follow the same rules. I suggest you have a long talk with this family and let them know that late pickups are not acceptable and that you will start to enforce a late fee and after so many late pickups it is grounds for termination. If you loose the family over it then so be it. We already work long enough hours and the parents need to be able to follow our rules.