What are these Errors in a Previously Successful MySQL Script?
I didn't realize this was a two-part question when I asked it:

What are the errors?
Thanks to @Akina for the comment that answered this part of it... MySQL and/or MySQL workbench is unable to distinguish the delimiters that end individual statements from the delimiters that end the creation of the function. So typically one must set a different delimiter outside the creation of the function, then return the delimiter to normal after. I.e. 

DELIMITER $$;
-- Create DB object here, using semi-colon at end of all statements except the last one.
DELIMITER ;


See https://www.mysqltutorial.org/mysql-stored-procedure/mysql-delimiter/ for more detail. As one who has never had to do that, it sounded like an annoying bit of extra work. But...

Why did this always work before?
Previously, I was running my script via JetBrains DataGrip. I believed the interface there to basically be just a terminal into mySQL. However, it turns out that DataGrip was automatically handling the necessary parsing of statements. So the manual delimiter handling was unnecessary within that environment.