John, to answer your question on ethernet, 1500 is a very common MTU. For VLAN tagged frame support (802.1Q VLAN ID ), 1518 bytes (1522 bytes on the wire with 4-byte / 32-bit ETH CRC32), for Jumbo frames (not IEEE) 9122 is common. Minimum frame size with CRC is 64-bytes and zero padding is common, < 64 is considered a runt frame. And note if ethernet_len field is 0x800 you have an IP packet. Good luck on STM32H7 ethernet hardfault debug.
The MTU is a property of a network that is controlled by the network configuration. These are the "standard" MTUs used on commercial networks and are pervasive in commercial networks. Other MTUs are theoretically possible for custom networks but are not supported by the H7 Ethernet MAC.
The value 590 is the minimum size that you can use for a fully functional network. It is not commonly used but perfectly valid. Increasing this default would break some configurations. Some older parts, such as LPC17xx have plenty of SRAM, but are constrained to a very small bank of DMA-able memory for Ethernet and USB.
Ethernet MACs that are not able to support certain packet sizes need to have checks to prohibit selection of sizes that they cannot support.