It sounds like the core of your issue is being surprised by resource unavailability. Project cannot identify resource driven task delays unless the resource is identified in the project and that resource has their unavailable working days identified in their resource calendar. It sounds like you may need to have your sign off resources notify you of their planned vacation days so that you can track it in the schedule.
If that approach gets push back from those resources, you might be able to handle it during sponsor(?) status meetings. When key sign off points are approaching, ask these key resources if they have any known vacation days planned that might conflict with these sign off points so that all are aware. If potential conflicts are identified, maybe an alternate sign off resource can be identified to help keep the project moving. Additionally, if you know a key sign off resource won’t be available with not alternate assigned, you can manually move the targeted sign off task in the schedule and then report on it’s impacts.
I would suggest both approaches, even if you get them set up as resources in your schedule.
If you are still getting unknown sign off task delays, mark the 2 day sign off task as Started within Project on the day it was sent for approval and then mark it Finished on the day the sign off was actually received. It doesn’t help predict the delay, but it will reflect what actually happened and allow you to see the down stream project impacts on future dates.
Finally, as a PM, document that delay, the reason for it, and the impact it had on the schedule, just in case you need to refer back to it months later.
Hope that helps