I think the single quotes are correct, and are whats in my history. I think they're arguments to the zmv program, which itself does the expansion and $1 substitutions. Otherwise I think that $1 would be substituted once when you run it instead of for each file.
I've used zmv to also reorganize the directory structure of files too, something that seems easier to do with its glob/variable replace syntax.
Nice to have a cross platform option for usage in scripts though.
In the first invocation I prefer to do a "dry run", if it looks good I proceed removing the echo.
P.S. Your example above should use double quote instead of single quote, otherwise the content is not expanded by Zsh
P.P.S. One recall the pre/post operator looking at the symbols on a US keyboard, the post follows the variable symbol...