To be fair, Gmail does support the IMAP IDLE extension, which is the standard way of doing push email over IMAP. Mac mail supports it, and it works. (I actually get email notifications on my laptop before my Android phone.)
iOS only supports email push with iCloud or with a Microsoft Exchange server. IMO, this is really on Apple for not supporting the IDLE extension on iOS, rather than Google for not supporting a proprietary protocol for their free users.