I have a friend who retired but still does some contract work. They were on salary their whole career and are not used to sending invoices and tracking down payments. One of their clients was late paying and my friend wasn't concerned, but I encouraged them to be diligent about insisting on being paid on time. I have been a freelancer for over a decade and in my experience, the further away you get from a bill, the less real it becomes to the person who owes it. They start forgetting what the project was, or worse, start questioning why they even have to pay for it. You have to stay on top of these things or they can spiral out of control.
Just for my own general curiosity, once a bill is overdue, how often do you nag the customer about it? Or does it look more like an escalation process? (Start out with a polite email, then a phone call, then a phone call to their manager/business partner, etc?) Do you ever "fire" customers who always pay, but always pay late and only after they've been reminded 3 times?