Possibly by mistake (the code in question seems to have never previously been subject to automated test), but also possibly to ensure that someone running unzip or the equivalent will always get a single folder as a result—if you forget to unzip to a new destination directory, it can be quite annoying to have your current directory strewn with several dozen new files and subdirectories
Actually, unzip behaviour differs depending on whether you are Linux or Windows.
On Linux, the behaviour is as you describe - the unzip writes into the current directory.
On Windows, unzip creates a new directory with the same name as the .zip file (minus the .zip extension) and then writes into there (that's with the GUI - not sure what the command line does).
In fact, when we zip up our product, we add an extra directory level in the Linux .zip, but not in the Windows .zip, for exactly that reason.