will have been dancing
The time marker "By midnight" paired with the duration "for four hours" necessitates the Future Perfect Continuous tense to show how long an action will have been in progress up to a future point.
should be starting
"At that exact moment" focuses on a specific point in the future, calling for a continuous aspect. The modal should is used here to express a strong expectation based on a schedule or plan.
hasn't forgotten
After conditional conjunctions like "provided (that)", "if", or "as long as", we cannot use future forms like "won't". Instead, we use the present simple or present perfect to refer to future conditions. The present perfect emphasizes that the act of forgetting (or not forgetting) must be completed before the fireworks can start.