I create a Approval workflow. When i publish a major version , that sends email to approvers to approve it. The approvers clicks "Approve" , and the task is completed but , when i refresh the page i see that page is rejected.
It's possible that someone changed the document - did they check out the document or change something in the document? If they did it would cause the approval workflow to reject the document.
Try watching the Approver's screen and see what they do when they approve. This way you can eliminate their actions from your root cause analysis.