Do these differing capacities in SSD tiers only relate to companies using GB vs GiB or is it because some vendors choose to reserve more NAND for bad blocks?
No.
The NAND is like DRAM chips: always power of 2. The chips themselves are described in gigabits, like 128Gbit, which is 16GiB. The NAND chips are usually grouped in a power of 2, usually 8 chips or 16 chips. Earlier Intel SSDs had 10 channels and this resulted in different capacities like 40, 80, 160, 320, 640, etc. Usually with 8 channels it is 32, 64, 128, 256, 512.
When i say 512 i mean 512GiB, not 512GB. The latter (GB) is 512.000.000.000 bytes while the former (GiB) is 512 * 1024 * 1024 * 1024 bytes.
Now, assume an SSD with 512GiB of NAND. Now assume the following capacities:
512GiB -> almost impossible because the SSD has no spare space for anything; extremely simple USB sticks could do it, but impracticle as replacing bad NAND pages is impossible.
512GB -> the most usual; the difference between GiB and GB (6,8%) is used for overprovisioning and other stuff (reserve NAND, internal storage for SMART/mapping tables, etc).
But you also see 480GB and 500GB sometimes. Or 50/60GB instead of 64GB, or 100/120GB instead of 128GB. What is the story behind this?
Well, aside from overprovisioning, many modern SSDs also have parity information to protect against 'bad sectors' aka unreadable NAND pages. One unreadable NAND page at the wrong location and your whole SSD could be bricked because the mapping tables are damaged. Protection against bitrot is pretty much mandatory as you continue producing the NAND at smaller process technology (50nm->34nm->22nm->16nm).
As you may know, modern SSDs are like a 16-way RAID0 device of independent NAND flash. But in fact, it is not RAID0 interleaving that is used, but more like RAID3 or RAID5.
The M500 had 1/16-level bitcorrection, meaning: a RAID5 of 16 NAND devices. This also means that only 15/16 of the capacity can be used for storage. The 1/16 is exactly the difference between 240GB and 256GB; 480GB and 512GB. This has nothing to do with overprovisioning!
Now the M550/MX100 and up has 1/128-level bitcorrection; and thus lower overhead. This overhead can be contained in the usual difference between GB and GiB. This does mean, however, that these SSDs have fewer overprovisioning than the M500. It also has better good protection against bitrot; probably the Micron 16nm NAND has matured enough so the raw Bit-Error-Rate (BER) is sufficient to use only 1/128-level bitcorrection instead of the former 1/16-level.
Hope this answers your question.