We're simply making use of Python's ability to load a module from a zip file [0]. Therefore, the generation[1] is just zipping up all the files and prepending a shebang.
Might be less confusing if you append '.zip' in the first two commands:
zip --quiet youtube-dl.zip youtube_dl/*.py youtube_dl/*/*.py
zip --quiet --junk-paths youtube-dl.zip youtube_dl/__main__.py
When you echo the shebang overwriting the file, I was thrown off. I'm thinking,
"Why did you just zip all those contents into the file to just throw them out?"
Then I see the `cat` line, and it makes sense that the `zip` command appends
the .zip to the end of the file.