Once the condition is met, the approval is created. If the condition is met again for the same record by reverting the changes made no approval is being generated second time.
Created an Approval Rule- Condition: short description = test; Result: create approval and set state = rejected.
Approval is triggered and approval state is being set to "rejected" again made the changes so that the condition to be met but, the approval is not created.
Release or Environment
This is expected. The old approval engines were very limited in what they were capable of, as such workflows were given the ability to manage more complex approval/re-approval processes.