I will go out on a limb here and assume that english (reading or writing) is not your first language. This may explain why there are issues regarding your EasyPay setup with your FlexPay account.
When you first start your service with T-Mobile, your account is assigned a "bill cycle date". This date is when your service renews every month, starting your bucket of minutes over again, fresh. This date is NOT the same date that you started service with T-Mobile.
In your Service Agreement, it is clearly stated when your bill cycle close date is. Hypothetically, let's assume your bill cycle is on the 15th of the month. Your minutes renew on the 16th of the month and run through the 15th of the following month. This, however is NOT the same date you signed up with T-Mobile originally. There are only so many bill cycle dates available within the billing system, and upon activation, you are assigned the closest bill cycle date to the actual service start date.
Your bill is due approximately 3 weeks after your bill cycle close date. This time allows for the bill to be processed, mailed and received by you. If you have your account set up for EasyPay, your payment is deducted out of your account 3 days prior to your bill due date.
According to your post, they are taking the amount out of your account on the 17th of the month, which means your bill is due on the 20th of the month, not the 24th. Once the 20th of the month rolls around, you then have a small 'grace period' in which to pay before your service is disrupted. (approximately 3 days)
Calling T-Mobile and claiming they made a mistake is absurd. Based on the information you have provided, they are billing you correctly. They are correct in saying that there isn't much they can do, since you cannot change your billing cycle based on your account type.
The best case scenario for you would be to have the funds available in your account on the 17th of the month. If this is not possible, I would suggest you "bite the bullet" so to speak and pay 2 months at once, that way you are always 1 month ahead of the game and not subject to having your service interrupted due to insufficent funds in your account.