If I edit a PUBLISHED content, is it possible to automatically move it to DRAFT state, so it can go to the Approval workflow again
This is possible but you will need to use the Model Lifecycles to change the
published_at field to
null (which throws it into a draft state)
In this way you can very precisely control what triggers it going into a draft, ect.