I'm assuming that you have a manager, when those things happen here we explain the reasons and delay a little the milestone, you certainly have good reasons.
In my company we usually try to set-up a milestone based on the time that the tasks will take and also the time that we might need for other things (like bugs, little adjustments for marketing, etc).