Why can I not format my USB mass storage device?
So I've run some tests to try to explain why it works for 64 KiB and not some smaller sizes.
As a disclaimer, this explanation isn't based on the FAT specification, but on the tool mkfs.vfat you used.
TL;DR:

you need at least 34 KiB

Firstly, you can create an appropriately sized file by using dd and then format it as FAT with some options to guarantee the minimum amount of overhead:
dd if=/dev/zero of=desired_file_name bs=512 count=desired_sector_count

mkfs.vfat -I -n &quot;TEST&quot; -f1 -r16 -R1 -s1 -v file_you_created

So, starting off at a 32 KiB guess, which equates 64 sectors of 512 B, you get the result:
mkfs.vfat: Too few blocks for viable filesystem

Bad luck. But what is the tool checking to decide that? It turns out the source code for dosfstools's mkfs.fat says:
if (blocks &lt; start_data_block + 32) /* Arbitrary undersize filesystem! */
    die(&quot;Too few blocks for viable filesystem&quot;);

Source: GitHub
Since the conversion ratio is 2 sectors &lt;&gt; 1 block, the program expects at least 64 sectors of data space. But that's not everything. The metadata space occupies a minimum of 3 sectors (boot, directory, FAT), which gives a start_data_block of 2 blocks (with 1 empty sector before the data for block alignment). So the minimum is 34 blocks, or 68 sectors, or 34816 bytes.
dd if=/dev/zero of=minimum bs=512 count=68
mkfs.vfat -I -n &quot;TEST&quot; -f1 -r16 -R1 -s1 -v minimum
(...)
mkfs.fat 4.1 (2017-01-24)
minimum has 64 heads and 32 sectors per track,
hidden sectors 0x0000;
logical sector size is 512,
using 0xf8 media descriptor, with 68 sectors;
drive number 0x80;
filesystem has 1 12-bit FAT and 1 sector per cluster.
FAT size is 1 sector, and provides 65 clusters.
There is 1 reserved sector.
Root directory contains 16 slots and uses 1 sectors.
Volume ID is 4d6a32d7, volume label TEST       .

Success at 34 KiB!
By the way, you checked the FAT size limits for FAT32. A volume this small is FAT12.