Buttons fall off & shirt opens during cloth simulation
The best way is to make the buttons same object with the shirt, select all the buttons, then select the shirt, in that order, so the shirt is the active object, then press Ctrl + J.
The cloth simulator doesn't understand that those buttons are supposed to keep the shirt closed, you need to weld the open vertices where the shirt is open. In order to keep the visual of the shirt, you should do that in modeling, as you did for the collar for instance.