Does STM32 USB OTG support all USB 2.0 flash memories?
Mass storage is a bit of a tricky one. In terms of the software stack, there are really three layers that connect your fopen/fclose to the bits in the flash drive itself:

1) The USB host driver. This manages the low level communications on the bus. The STM32F library fully supports all the requirements of the USB standard in this regard, so you can theoretically connect to anything that is USB 2.0 compliant.

2) The mass storage device driver. The USB standard defines protocols for a few higher level device classes that are commonly used (things like audio, keyboards, mass storage) and mass storage is one of them. However, the mass storage device class is rather broad, covering about 40+ years of varying standards and protocols for talking to storage media. The STM32F library only implements one particular SCSI command set, but this is used by pretty much every flash drive I have ever come across so I doubt this is the problem.

3) The file system driver. The mass storage driver really just exposes raw blocks of memory that can be read and write. A computer can put whatever it likes into these data blocks. However, to be able to use the flash drive between different systems it needs to be structured with a particular file system. The STM32F library uses the FatFS software library to implement a lightweight FAT32 file system. This sits at the top of the software stack and exposes the fopen/fclose etc API that you then use to read from the drive.

So if your flash memory is not working, then the problem likely lies in either layer 2 or 3. My guess would be it lies in layer 3, and that the drives are not formatted with FAT32. Unfortunately FAT32 is getting quite old now, and can only handle drives up to 32GB, and as many new flash drives are much bigger than this they are formatted with something else.

Reading newer file systems is a real pain, because Microsoft keeps them patent encumbered, meaning there is not much open source support, but you should be able to format your drives with FAT32 provided you don't need to support more than the 32GB limit.