Your messages are simply too long for the SMS system to handle.
A single ('proper') SMS text can't be longer than 160 characters. In the very early days of texting, if you wanted to send a longer message you would need to send multiple texts. However if you now try to send a message with, say, 400 characters, it will be sent as a 'concatenated SMS' message, where there are actually three separate texts involved (and you'll be charged for three texts if you 'pay per text', rather than using having unlimited texts) but they automatically get joined into one on the recipient's phone.
The concatenated SMS system can't cope with texts that are more than a few multiples of 160 characters though. So, when you try to send a very long SMS message, it's automatically converted to an MMS ('picture message') one, which requires mobile data.
This might help:
https://www.guidingtech.com/fix-android-wont-send-picture-messages/