It's a msdos partition table. For extended/logical partitions, some space is needed to store the data of the next logical partition. So a logical partition can not start on the same sector as the extended partition, nor can it end on the last sector before the next partition. You have gaps in between, since that's where each logical partition's metadata goes.
If you add other requirements to your partitioning such as MiB alignment, you end up with 1MiB sized gaps between partitions.
No gaps are necessary for primary partitions, so the numbers fit for the free space between your partition 1 and 2. But with msdos, primary are limited to four (including the extended partition).
If you don't want such gaps, you could go for GPT partition scheme instead, if your Windows supports it.