Creo que los problemas son
- El primer error se produce porque está intentando volver a crear un procedimiento existente. Si abandonara el procedimiento primero, no obtendría este error,
- El segundo error se debe a que los PROCEDIMIENTOS se invocan con instrucciones CALL, mientras que las FUNCIONES se invocan como referencias a funciones, como en su código. Debe definir una FUNCIÓN, no un PROCEDIMIENTO. La (documentación de MySQL ) dice: