Why is a second "tmpfs" parameter necessary when mounting a tmpfs?

Solution 1:

It's not an option – it's the device name.

Remember that the syntax for mount(8) is:

mount [-t fstype] [-o options] device mountpoint

So even for filesystems that don't correspond to a specific device, you still need to give a dummy name, whether it's none or tmpfs or fluttershyfs.