Since you have a flexible cancellation policy, the guests have up until the day before arrival to cancel. No one likes cancellations, but as you say, it's better for guests to cancel earlier rather than later so we have a better chance of rebooking. If you cancel, you'll incur harsh penalties as the host and will not be allowed to rebook those dates through Airbnb , so it's really in the guest's court.
You could try to make it as easy for them as possible, sending the cancellation link directly along with a friendly note saying you'd be happy to welcome them another time. They may be delaying as they try to figure out a work-around for the nonrefundable fees Airbnb has collected from them.
Good luck, in this frustrating situation.