I think your problem is this:
menuentry "Windows bootmgfw.efi.bkp, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root 0648-FFF7
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi.bkp
}
menuentry "Windows memtest.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root 0648-FFF7
chainloader (${root})/EFI/Microsoft/Boot/memtest.efi
}
menuentry "Boot bootx64.efi.bkp, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root 0648-FFF7
chainloader (${root})/EFI/Boot/bootx64.efi.bkp
}
Note in particular the filenames on the chainloader lines -- bootmgfw.efi.bkp and bootx64.efi.bkp are not valid EFI boot loader files, and they don't seem to exist on your disk. The files bootmgfw.efi and bootx64.efi, however, do exist and are valid EFI boot loader filenames. (I can't guarantee the files you've got are valid, of course, but the filenames are.) I recommend you change these filenames in the /etc/grub.d/40_custom file and then type sudo update-grub to pass those changes on to the GRUB configuration file. You could also manually check the contents of /dev/sda1 to be sure that those files exist with the proper filenames; there's a possibility that something has improperly renamed the files and then updated your GRUB configuration to match that. I have no idea how GRUB would respond to such abuse.