Make a rectangular selection the size you want your button to be
Be sure to select rounded corners in the tool options
Save this selection to a channel, just to be sure you can retrieve it whenever you want
Create a new layer for the button background, fill it with you base color
Invert your selection in selection->invert
Go to filters->light and shadow->drop shadow, and create your shadow, with 0 for X and Y offsets - there you are -a new layer with he exact shadow you wanted. : if you use the classic drop shadow script (not the GEGL based one in GIMP 2.9), it creates a shadow of the selection itself - in a new layer, above the current layer (it is different of the behavior when there is no selection)
restore your ouriginal selection, create a new layer and make a white to black vertical gradient with the blend tool. Change this layers mode to "grain merge" and reduce its opacity until you are satisfied for the main blend of your button
create a new selection, smaller in order to create the Phong reflex - and on a new layer, create a blend from white to transparency for it. o adjust the transition from white to transparency, I prefer to use the colors->curves tool, operating on the Alpha channel of the reflex layer.