The overlapping event check and prerequisite checks are the two features that require login to register for those events... even if they are marked as public. They check the user account that is associated with the registration. In a group, there is ONE account connected with the registration, and that is the person that was logged in and making that registration. So combining this with an initial public event is not going to work well at all. Besides, the group members do not have accounts to check.
Usually the best way to accomplish something like this is to have ONE event... then give the "sub events" are given as selection options with fields. As you have various sub events that overlap... you could (for example) have something like:
Select your morning workshop: Option 1 | Option 2 | Option 3
Select your afternoon workshop: Option 1 | Option 2 | Option 3
Set these fields as radio buttons or dropdowns so the user can only choose one from each timeframe. No overlap check needed
Assign these fields to be used for "Each Member" in the group registration.
End result, the whole registration process is done in one registration... easier for the end user... and accomplishes the limitations that you need to set.
This option may or may not work out for you. It's the best route in most cases, but everyone's needs and setup is a little different so that's up to you. You have to do something different than what you were trying though because that is not going to work well.