Hello,
The way this usually works is as you originally had it: two approval steps in sequence in one leg of the fork, with a CHANGED event in the other leg of the fork, ready to effectively cancel the workflow if the underlying object is changed. This is a common workflow design.
But, this won't work if the object gets changed by the first approval (or in workflow steps after the first approval). You would also need a way to start a new workflow in the case of a CHANGED event.
regards
Rick