If a staff member changes their hours within the parameters of their current contract then you would need to update their salary section. Top Tip: You do not need to create a new contract.
You'll need both the All Staff: View Contract Details and All Staff: Contract Management permissions. If you don't have the permission, you'll need to ask your admin team to give you permission using these instructions.
Providing you have the permissions above you can edit the salary from within the Contracts section of the staff profile. End their old salary which will have their old hours on, and add a new salary with their new hours. You may find the salary section of this article on Managing Staff Contracts useful.