I want each to have a dedicated button, in a way that the button will change its color once clicked. And if the user then clicks the opposite button - the first one will go back to its original state and the new one will change color.
It’s kind of possible, but not the way you are wanting to do it.
Adalo does not have multi-state buttons that I am aware of ( there may be a component out there somewhere for that )
What you would have to do to make this work is have a different button for each one, but have them all with visibility conditions what make them only appear if they are what ever that condition is.