The button should always be visible on the page somewhere and should always be clickable. It is incredibly frustrating for a user if they can't click on a button and there is no clear indication of why that is the case. You should always allow the user to click submit and then highlight all fields which are causing validation issues so the user can clearly see what to fix.
I wouldn't ever fix the position of a submit button to the bottom of a scrollable form as the user may miss fields they should have entered. The best place is directly after all of the form fields, even if that happens to be off screen and the user has to scroll down to find it. It is important that you mark which fields are required to submit the form to avoid confusion and frustration.
If you have both optional and required fields, you should clearly mark the form to show which fields are required by either labeling each optional field if only a few are optional or each required field if only a few are required. If all fields are a single type (as in your case) you should instead state that all fields are optional/required at the top of the form. You may consider repeating this message next to the submit button if the form is long enough that it will always require scrolling.