opts[:arch] is not being sent to this method causing x64 payloads to fail as they are being generated as x86 exes.

I guess ideal is to set targets to be windows x86 and windows x64? Then appropriate payloads (show payload) will list depending on target. Not sure if arch will automatically be picked up lower down in the framework or if it still needs to be supplied at this stage? 

Also generate_payload_exe_service only checks ARCH_X64 and not ARCH_X86_64