You cannot have two efi partitions. System can only boot from one efi partition. Only the efi partition in gpt can have the "boot" flag. Take boot flag off of sda5. Not sure if then you have other issues.
Partition Start Sector End Sector # of Sectors System
/dev/sda1 2,048 1,026,047 1,024,000 EFI System partition
/dev/sda2 1,026,048 1,107,967 81,920 -
/dev/sda3 1,107,968 1,370,111 262,144 Microsoft Reserved Partition (Windows)
/dev/sda4 1,370,112 2,394,111 1,024,000 Windows Recovery Environment (Windows)
/dev/sda5 2,394,112 309,594,111 307,200,000 EFI System partition
In GPT fdisk, ESPs have a type code of EF00. In libparted-based tools, you mark the ESP as such by setting its "boot flag." Note that the libparted "boot flag" means something entirely different under MBR, and you should not set the "boot flag" on any OS partition under GPT!