As already stated, your array is way too large to fit into physical memory on both machines.
But the point is that physical memory is only part of the memory that is typically available on moder systems, the other one being virtual memory.
I am not sure whether Windows version of NumPy is actually compiled to only use physical memory, this could be, but I find it unlikely.
So, probably, the reason why you your Mac can handle that array is that it is configured to have a much larger virtual memory (read swap) than the virtual memory (read PageFile) available on Windows machine.
Therefore, increasing the PageFile size on your Windows machine is likely to fix your issue.
However, this is far from ideal as the virtual memory is typically orders of magnitude slower than the physical memory.
Your best bet is to use an algorithm that can work on chunks, or, if that is not possible, you should use memmap arrays, which, to the least may allow to work in-place on disk, thus avoiding copy huge amounts of data back and forth.