I don't think this is MikroTik's fault. They source their flash chips from multiple vendors, and it would appear that one of them measures capacity in base-10 megabytes, and another measures capacity in base-2 megabytes ("mebibytes", or MiB).
This problem has existed with storage for YEARS, primarily hard drives. Most hard drive manufacturers quote megabytes, but the software that people run on their computers deal with storage in mebibytes, though the software CALLS mebibytes "megabytes". People buy 1TB hard drives all the time, put them into their computers, and wonder why the software says it has a total capacity of only 930 gigabytes. It's not really 70 gigabytes short of 1TB; it's a unit conversion problem.
So in this case:
16MB = 16 * 1000 * 1000 = 16,000,000 bytes
16MiB = 16 * 1024 * 1024 = 16,777,216 bytes
16MiB = 16.7MB (16 * 1024 * 1024 / 1000 / 1000)
16MB = 15.3MiB (16 * 1000 * 1000 / 1024 / 1024)
As you can see from your screenshot, RouterOS actually is aware of the "MiB" unit and is displaying the right thing.
Also, if you look at the spec sheets for the hAP ac and hAP ac2, you will see that they both list the storage capacity in MB, not MiB. And since 16MB == 15.3MiB, there is no false advertisement here. And this means that the hAP ac that you got with 16MiB actually has *more* storage than advertised!