You can use M24M02 which is well tested and we have used the same in the FX3 CYUSB3KIT-003 kit.
We have not checked W25Q16, so please make sure that it supports the same read and write command as mentioned in the FX3 datasheet else Flash read write may not work.
FX3 can work with Flash with following spec:
Read data: 03h with 3-byte addressing Read Status register: 05h Write Enable: 06h Write data (Page Program): 02h Sector Erase: D8h
SPI flash/EEPROM devices from 1 Kb to 32 Mb
SPI frequencies supported during boot are ~10 MHz, ~20 MHz, and ~30 MHz
Operating voltages supported are 1.8 V, 2.5 V, and 3.3 V
I replaced the M25P40 on my FX3 development kit with a W25Q80EWSSIG and it seems to have worked (The "Sector erase" command point to "64KB Block Erase" on the winbond).
I will try some Macronix parts once I got the samples.