It's not necessary to use the public event page signup to recruit and schedule volunteers for an event. Some organizers prefer that volunteers to do not have immediate access to shift signup, and instead submit an 'interest' form.
To recruit volunteers without giving access to shift selection, create an event and schedule as usual. You will then not bother with the public event page, but instead create a stand-alone signup form in the 'Forms' tab that asks for volunteer availability and uses checklists or radio buttons to ask for preferred roles. Instead of sharing a link to the event page, share the form link.
You will be able to review and store form responses in the 'Responses' section of Forms, instead of in the 'Applications' section of the event. Once volunteers are stored in your community database, you can manually assign shifts as needed in the schedule view. This is easiest to do with two windows open - one to review form responses, and one to schedule.