If you search Answers for how to hide the submit button or other action buttons if field values do not equal a specific value or a range, you will find many.
I propose that a new field rule option be added to account for these situations. It would still use the Show/Hide option and the conditional options currently available, but from the list of fields when selecting Show/Hide you will be able to select the different action buttons according to their CSS names, Submit, Approve, Reject. Since you can only ever have 3 with the built-in options, that allows it to be flexible enough for a process creator to choose which buttons should and should not show based on the conditions set, while still allowing them to customize the names of the buttons at each user task.