All I can see, is that in the second button, you are using some custom class
v-centered-button, and this is making a mess. If you remove that class, you will find that the button inherits the alignment of the column, which in this case is LEFT. The top button however is centered, because the column itself is set to align CENTER.
Grids can be difficult to work with, as I'm sure you are aware, with loads of classes that apply different styles and alignments across different screen sizes. For me, if I want to center a button independently from the text or column that it is in, I would just add the button or <a> inside a box:
<div style="text-align: center">
<button>this button is always centered</button>
</div>
In other words, this means you can align buttons inside the block independently from the container.
There are some classes in your code that I don't quite recognize at first glance, making it hard to understand. As for the last button, it's inside a column that is centered. Although the column itself is centered (on screen), the content inside the column is left-aligned, and the button is therefore aligned left, relative to the column.
As above, this can be resolved by adding your button inside a box with text-align: center.