How many mmcblk devices is normal? Why so many mmcblk devices?

/dev/block/mmcblk0
/dev/block/mmcblk0boot0
/dev/block/mmcblk0boot1
/dev/block/mmcblk0p1
/dev/block/mmcblk0p10
/dev/block/mmcblk0p11
/dev/block/mmcblk0p12
/dev/block/mmcblk0p13
/dev/block/mmcblk0p14
/dev/block/mmcblk0p15
/dev/block/mmcblk0p16
/dev/block/mmcblk0p17
/dev/block/mmcblk0p18
/dev/block/mmcblk0p19
/dev/block/mmcblk0p2
/dev/block/mmcblk0p20
/dev/block/mmcblk0p21
/dev/block/mmcblk0p3
/dev/block/mmcblk0p4
/dev/block/mmcblk0p5
/dev/block/mmcblk0p6
/dev/block/mmcblk0p7
/dev/block/mmcblk0p8
/dev/block/mmcblk0p9
/dev/block/mmcblk0rpmb


What is the normal amount of mmcblk devices? I'm having problems booting and I'm wondering if this kind of formatting is normal or not?

When I boot up under TWRP, and adb in. After I run mount -a, I get

/dev/block/mmcblk0p19 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p21 on /data type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p20 on /system type ext4 (rw,seclabel,relatime)
/dev/block/mmcblk0p16 on /preload type ext4 (rw,seclabel,relatime,data=ordered)


That only explains four of them though.
There is nothing abnormal in this case. They is only one device in the first preformatted text, which is /dev/block/mmcblk0 (just like /dev/sda in Linux distros). The rest are the partitions within that device (akin to /dev/sda1, /dev/sda2 and so on).

There is no normal limit, not that I came across, for how many partitions a device can have. It depends upon how developers want to design and provide a functionality. E.g. earlier, there used to be one system and boot partition. But recent Android versions started a new normal of setting up additional boot and system partitions for fail-safe measures. 

Also, mount command only shows the partition which are mounted under /. Some partitions are never needed to be mounted, such as ones concerning bootloader, so you won't see them in mount's output.