that is exactly how the url for csshandler should be, otherwise it will not load the correct skin for the site, it needs that segment so the csshandler knows which site it is and therefore is able to choose the correct css.
the error you are having is specific to your environment, for some reason it is not using the handler mappings in Web.config
ie for IIS Classic in the <httpHandlers> section we have:
<add verb="*" path="*csshandler.ashx" type="mojoPortal.Web.UI.CssHandler, mojoPortal.Web" />
for IIS Integrated pipeline we have something similar in <system.WebServer><handlers>
<add name="CssHandler" verb="*" path="*csshandler.ashx" type="mojoPortal.Web.UI.CssHandler, mojoPortal.Web" preCondition="integratedMode" />
these are wildcard mappings so the file should not have to really exist at the specified url, but that is not working in your environment for some reason.
you can fool it into working by actually create a folder /site2 and copy the file csshandler.ashx from the root into that folder
it could probably also be solved by some configuration fix but I don't know what is mis-configured in your environment