How to disable only “Reject” button ?
I don’t believe this is possible the way you are asking (disabling/greying out the reject button). The only potential way to do that would be via the Approve/reject privilege, but approve and reject are tied together.
I see two possible other ways to handle this.
1)Write a script that is triggered on a “Reject for Workflow” pre-event that would error/throw an exception for your use cases where a user cannot reject, or
2)Set up users that are not allowed to reject as “Acknowledgers”. This basically is the equivalent to approve without having the ability to reject.