Text in the overlay scene BGE
Text objects are converted to a mesh with a plane for each letter. The planes get a rendered texture of the chosen font. 

Unfortunately this render does not 100% match the text object it is based on. That is the reason for the size and location differences.

I suggest to split your text object that you get one for each button. This reduces the visible location and size differences. Additionally it allows you to parent the text to the button.