That happens here, too. I have a boot entry for “/dev/sda2” and one for “/dev/sda3”. I normally use the one for “/dev/sda3” because that is the main Windows partition. And “/dev/sda2” is the system recovery partition. Either one actually works for booting Windows. And it boots the same Windows either way. But it uses a different BCD (boot configuration database) for each.
You can set GRUB_OS_PROBER_SKIP_LIST in /etc/default/grub to the list of (filesystem) UUID of partitions that should be ignored by os-prober. Or, more precisely, ignored by grub-mkconfig when adding menu entries for partitions found by os-prober.
The 1st Windows 7 menu listing saved me a bunch. During some updates, windows needed restarting & it threw me into a recovery mode thing. I restarted with 1st Win7 menu item and was able to use system restore to get back to a good point w/o losing much.
Lesson learned, do restore points upon install, and after doing program installs, & shut of Auto updating.