Alignment or justify properties on an element will affect the contents (or children elements).
In your original structure, the ‘button’ is a child of the ‘container’ element.
You could have set the align:center (in the typography settings) and that would have centered the button, however, it would have centered everything else that was with that parent (the ‘container’ element).
Making use of a ‘wrapper’ allows you to use specific align/justify settings to an element without affecting other elements (siblings) within the same parent element. (Sorry if that’s starting to sound confusing!)
In summary, you don’t always have to use a wrapper, particularly if you do want all the elements to have the same align/justify setting.
There are a couple of things to cover in the set up you have there.
You are using column’s (which is ok), however, using Flexbox is more powerful to use. In saying that there is a little bit of a learning curve to understand. What you are trying to achieve is quite straight forward.