~ず and ~ない mean essentially the same thing, as they are both negative forms (i.e. they both mean "not"). ず is more of a written or formal style, while ない is spoken or standard.
However, the examples in your question actually revolve around ~に and ~と, as it's a grammar usage question. Let's take a look at your examples:
2時間、_____立って話しました。
座【すわ】らずに is the correct answer here, and has several close analogues that could be used as well:
- 座【すわ】らなくて
- 座【すわ】らないで
- 座【すわ】ることなく
The nuances may vary slightly between these, but they all fit in the sentence grammatically, which is what these questions are designed to test.
あの花は5月に_____とさきません。
In this example, the time (5月に) is the hint and the key is the と after the blank. Though ~ず can be followed by と, it ends up having the same meaning as ~ずに, so the answer has to be ならない, as ~ないと deals with time.
But why?
Though the meanings of ~ず and ~ない are basically the same, the meanings diverge when they become ~ずに and ~ないと.
- ~ずに means basically "without doing ~" (~に just turns this into an adverb, just like the で in ~ないで)
- ~ないと on the other hand, means "when not doing ~" or "if [it] doesn't ~" (~と in this case means "when" or "if")