You have an error in your html as you have this:
<div class="modal-close" for="<modal-></modal->1"></div>
That line is supposed to be a modal close method for use when js is not present and needs to be a label that refers to the original checkbox to toggle its state back off so that the css removes the modal. The js you have is an enhancement if js is disabled (or the browser doesn't understand the checkbox hack) and then the js takes over.
The code you should have used is this:
<label class="modal-close" for="modal-1"></label>
You can test this by removing the js and then seeing that the modal still works and then toggles off only when the close icon is clicked.
There is no conflict with having the label look like a button and you don't want a real button because that is invalid and confusing. The html needs to make sense for assisted users (screenreaders and keyboard users etc) and having a button inside a label would be a nightmare. Sighted users can see what looks like a button and click it without problem so all are satisfied. Do not confuse what an element looks like with its html function. The html structure must always be correct firstly.
You misunderstand the context of the example you are using as I have mentioned a few times. The checkbox hack is being used so that users without js enabled can still have a modal experience. The checkbox hack is a little hacky and has problems in older android which is obviously why the js has been added to cater for them. However it does work well in modern browsers. I would have instead preferred to use :target instead of :checked which does not abuse form elements but comes with its own set of issues to cater for.
Note also that your fixed positioned modal is inaccessible on smaller windows as it goes below the fold and cannot be scrolled.
We've already addressed that point and you don't need a button at all. If you weren't using the checkbox hack then you could simply have used a button without a label to complete the action. Of course that means that it has to be js enabled only.