How can I change the buttons text position?
You can't, Blender's layout engine text alignment (in the internal C code), but Python has no access to this.

This is intentional, Python layout definitions are not supposed to care about details like alignment and color, this is controlled by the layout engine and current theme.

If the layout looks bad this may be a hint we need to improve the layout engine's behavior - its unlikely these details will be exposed to Python, unless theres a very good reason.