There is no such thing as a generic text printer on OSX.
OSX internally treats EVERY printer as postscript at the OS level. Then converts the postscript output to whatever language the printer needs (ZPLII in your case).
So the Remote Desktop APP sees a "postscript" printer on OSX and communicates that to your Windows server. (Windows usually sees it as a "MS ImageSetter device" which is a generic Postscript printer.)
Your application ignores that and pushes the RAW ZPLII to the Mac anyway, but the Mac was expecting to receive Postscript and hence your error message when it tries to interpret the Postscript file (which is actually no Postscript, but ZPLII).
This is nasty because you don't really have an easy way around that.
If the customer printer is a network printer (I seem to recall the GXxxxt models have the regular Zebra LAN interface) you may be able to supply the raw ZPL file to the customer and have the customer send it manually to the printer using the good old lpr command. The customer would have to run something like this on a commandline in Terminal:
lpr -H <ip-address printer> -P PORT1LF -l <filename of ZPL-file>
Please note: -H and -P are case-sensitve !! "-l" is a lowercase L.
-H (hostname) specifies the ip-address of the printer, -P the queue-name, -l means "file is already formatted, don't touch the content".
Please note (2): PORT1LF is the normal queue-name used internally by Zebra LAN-interfaces. If the Zebra doesn't use a Zebra LAN interface but another brand you usually need to use "auto" or "text" for the -P parameter. Consult the manual.
EDIT added after some research
On OSX you can create a so-called "RAW" print-queue by using the commandline lpadmin tool or by using the CUPS webinterface at http://localhost:631.
However such RAW printers do not show up as regular printers in OSX, because OSX GUI applications absolutely need a printer to be Postscript. For non-Postscript printers CUPS provides a Postscript converter that translates the Postscript to something the non-Postscript printer understands.
For a RAW printer this conversion to Postscript can't be done, so RAW printers are not offered to OSX GUI applications as valid print-devices. (They can be used with the command-line print-tools like lpq, lpr, etc.)
And that is why NO RDP client on OSX forwards them! They just forward regular printers.
(Technically there is no reason why the RDP client couldn't present a RAW printer (using old-school unix lpr/lpq handling) over RDP as a "Generic/Text Only" printer to Windows. But it would require extra programming to make this happen. And given that this particular usage is a very small niche I won't see this happen anytime soon.)
Your only workaround, as far as I can tell, is the one I already mentioned. Supply the file to the user and have him print it locally using lpr.
The printer is USB attached, but that is no problem. Using the CUPS web-interface you can set up a USB printer as a raw print-queue. Part of this web-page Add raw print-queue, you only need steps 3 to 7 explains how to do that. It even uses a Zebra as example.