Ethernet cards might have (supposedly) unique MAC addresses, but what about virtual interfaces like aliases (e.g.
eth0:0), bridges or VPNs? They need an ID too, so an UUID would be a good fit.
By the way, since the question is about NetworkManager and NetworkManager deals with connections, there are scenarios where you can have multiple connections for a device. For example you have a laptop with an Ethernet card which you use both at home and at work. At home you're using only IPv4 like most home users, but at work you're using only IPv6 because the company managed to migrate to it. So you have two different connections which need different IDs, so the MAC address of the Ethernet card can't be used by itself. Therefore an UUID is again a good fit for an ID.