Because Linux does not request and check 0xEE string, using libusb under Linux require the BOS thing.
You should not need any of this on any OS. Microsoft are apparently incapable of coming up with obvious trivial solutions (or copying good solutions from others).
On Linux, a device that is not claimed by any drivers is available for generic access from libusb. There is no need for drivers, the OS just lets you send and receive arbitrarily formatted packets to the device.
This makes it possible to create user-land device drivers for devices that have unique functionality and work only with one application anyway.
On Windows, if device is not claimed by any drivers, you get errors and device is not available. So, instead of just installing WinUSB driver automatically, they came up with this nonsense.
BOS is not just for installing drivers, it is a generic storage of arbitrary binary data. Linux asks for it to extract other useful information. All that WinUSB stuff will be ignored by Linux.