سلام.
مسئله ربطی به زیپرشین ندارد. شما وقتی فایل را بدون زیپرشین (ولی حتی با زیلاتک) پردازش میکنید از دستورات لاتک برای انتخاب فونت استفاده میکنید، یعنی از سیستم nfss. اما وقتی از زیپرشین استفاده میکنید، چون زیپرشین وابسته به fontspec است، دیگر کنترل انتخاب فونت به دست fontspec است (در حقیقت ویژگیهای اضافه xelatex را فعال میکند) و دستورات شما برای فونت نتیجه دلخواهتان را ندارد.
برای آزمون این نکته، فایل را بدون زیپرشین ولی با fontspec پردازش کنید.
راه حل هم اینه که فونت رو با دستور \setlatinmonofont عوض کنید. مثلاً
\setlatinmonofont[ExternalLocation,BoldFont={cmuntb},ItalicFont={cmunti},BoldItalicFont={cmuntx}]{cmuntt}
یا هر فونت دیگری که دوست داشته باشید با optionهای دلخواه.
مثلاً برای فونت دلخواه شما، courier:
\setlatinmonofont[ExternalLocation,BoldFont={pcrb8a},ItalicFont={pcri8a},BoldItalicFont={pcrbi8a}]{pcrr8a}