It is an important distiction that Anonymous and Public are not the same. Setting a form to be Anonymous simply tells the application to not capture the username and store it on a submission when it is created/submitted/updated...etc. If a user is logged in, or not logged in all this flag does is make it so we don't capture the username of the person that submitted it.
NOTE if a user IS logged in and you have a bridge that is fetching the User and setting a field like "Requested By/For", that info will still be captured and stored as a field value EVEN IF the form is set to Anonymous. If you want your forms to be truly anonymous, you'll need to disable any bridges that are fetching user info and setting that data into fields.
To make a form public (users don't need to be logged in) you would set the Forms "Form Display" security policy to "Everyone" for submitting a new submission, or the Forms "Submission Access/Modificiation" to "Everyone" if they are pre-generating a submission and sending it as a link (like a survey for instance).
It is certainly possible to have public forms that are set up to be anonymous, but it is also possible to have forms someone must log in to see that are anonymous (do not capture the submitter information).