Similar problem with both my iPhone 7+ and iPad.
Push email for my iCloud.com address had been working fine, but suddenly stopped working a few days ago - possibly after the latest iOS update.
It now acts as if Manual is selected - it only gets mail for the iCloud.com account when the Mail app is opened or a manual refresh is done. Otherwise, it never gets pending emails.
Other push accounts, such as Outlook.com, work fine.
My Mac also receives the iCloud.com mail in real-time.
Changing it to Fetch works as expected - and receives emails after 15 minutes or so.
Since Push for iCloud.com email stopped working on both my iPhone or iPad, I'm guessing it's not a device problem. Both were working fine. Both stopped working at the same time a few days ago without me changing any settings.
I've done the usual things: normal reboot, forced reboot, toggled the Push/Fetch/Manual settings, toggled the Mail setting for my iCloud account.