If users are getting an unexpected "Enrollment is closed for ..." message when trying to self-enroll in a course even though you have "Allow Self-Enrollment" set to "For Manually-Created Courses," it may be that Canvas is no longer considering the course "manually-created" because you later added an SIS ID to that course.
I recently figured out this solution to an obscure problem we had, and thought it might be helpful to someone else, since it took me several frustrating hours to figure out, so that's why I'm posting this here.
Here's what happened to us: we had a manually-created course and people were able to enroll themselves just fine for several weeks. Then I added an SIS ID to that course (just to keep things organized), and suddenly people were no longer able to self-enroll. This happened near the end of our semester, and I didn't hear about it until a day later, so it took me a while to make the connection that adding an SIS ID was the cause. Our solution: make the SIS ID blank. It would also work to change the self-enrollment setting to allow it for "All Courses," but we didn't want to do that.
This could also be the issue if you are looking for the "Let students self-enroll by sharing with them a secret URL" in the Settings and not finding it - it won't appear in the settings if self-enrollment isn't allowed for that course because Canvas thinks the course isn't manually created since there's an SIS ID.
Documentation on enabling self-enrollment: How do I enable self-enrollment in an account and allow students to self-enroll in a course?
Documentation on course settings: How do I set details for a course?