An example of what is needed in the screenshot. Without using modulate and self modulate

The easiest way is probably to make a texture button, and use a red and green texture for normal and pressed. If you want it to stay green, select toggle mode.

Another way would be to create and assign a theme to the button and then define a theme variation that has a different color and assign it to the button via button.theme_type_variation = "MyPressedButtonThemeVariation".

Perhaps it will be useful to someone

$Button.get_theme_stylebox("hover").bg_color = Color.REBECCA_PURPLE