I think you have run into a case of difference between theoretical and practical speed. Theoretical speed is the speed of an operation/device/etc in the best case scenario. Eg. no errors happen, everything is done as planned, no external factors are taken into consideration, etc. Practical speed is the speed when all these are taken into consideration.
An easy way to spot this is the expression "up to" before the speed. Of course companies are going to advertise themselves with the way they seem to be the best, which is not practical speed.
EDIT: Flash drives are practically random-access (meaning that any data can be accessed in constant time, regardless of where it is), but are divided into blocks that are sequential (meaning that in order to read from or write to it, you need to read everything that comes before it). When data is written to or read from a block, the whole block needs to be read from/written to (when you read, the unnecessary parts are thrown away somewhere in the middle of the operation, and when you write, the same thing is written back to the unchanged parts that was there before). So in the case of a pendrive and reading, best case scenario is when every data requested alignes exactly with a block. In real life situations, this rarely happens, unless block size is taken into consideration when requesting or writing data (the user has no control over this).
Another thing to take into consideration is that behind the scenes, both the device and the OS might make error corrections when necessary, which slows down the process, but doesn't cause an error that is logged (because it was automatically corrected when detected). Without this, you might corrupt data without noticing it, so it's a necessary feature.
TL;DR: Best case scenario is basically unachievable all the time. There might be certain types of operations which go near it, tho (for example, HDDs perform far better on fewer large files than on many small ones).
EDIT2: For flash drives, I don't know what types of operations perform the best.
EDIT3: In the case of a flash drive, the size of the data read doesn't matter when testing speed. If the OS you are using reads for example 128 bytes at a time, and the device has a block size of 256 bytes, every 256 bytes needs two operations, making speed half of what it could be. However, the fact that pendrives are treated as block devices indicates that Linux can detect block size, making this cause improbable. Sorry, I can't think of any other reason that slows it down, but whatever it is, I don't think it's solvable.