Why can't I receive mms messages when I'm on the phone
You need to turn on Advanced Calling, also known as HD Voice, also known as VoLTE.
To do this, on your phone go to Settings /Cellular/ Cellular Data Options
On the next screen, Enable LTE - set this to Voice & Data
You need this on to have simultaneous voice and data, which is required for MMS messages and to surf while in a call.