Thank you for not giving up.
So, bad things happen when modem manager runs. Everything works fine when modem manager is not running. You have that part backwards 
I just did a test. What occurs is a major delay in Ubuntu recognizing Thiopoly serial devices. If you wait long enough. With modem manager down this does not occur Thiopoly devices are recognized immediately. This only begins to happen once the 4th or 5th Thiopoly device is added.
My rules now look like this:
# Thiopoly USBs
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_DEVICE_PROCESS}="0"
# Quectel EC25/EG25
# ttyUSB0 (if #0): QCDM/DIAG port
# ttyUSB1 (if #1): GPS data port
# ttyUSB2 (if #2): AT primary port
# ttyUSB3 (if #3): AT secondary port
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", KERNEL=="ttyUSB0", ENV{.MM_USBIFNUM}=="00", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_QCDM}="1", ENV{ID_MM_DEVICE_PROCESS}="1", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", KERNEL=="ttyUSB1", ENV{.MM_USBIFNUM}=="01", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_GPS}="1", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", KERNEL=="ttyUSB2", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", KERNEL=="ttyUSB3", ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1", ENV{ID_MM_DEVICE_PROCESS}="1"
Here is the output of the udev command:
https://drive.google.com/file/d/1bI1O7HMTcRBRIhC10FYt_Np_CdRpjbJM/view?usp=sharing
It didn’t fit inside the post.
Thanks again,
Will