well at 12v the 300W motors will each be capable of drawing 25 Amps so your 20A fuses are undersized, the way fuses work when they are overloaded is not as you would think, most fuses can take a short burst of higher current, but sustained higher current will cause them to blow.
fuses come in two types quick blow and slow blow, the quick blow will blow as soon as the current exceeds their rating, the slow blow will blow on a curve, so at 40A a 20A fuse will blow quickly, whereas at 25A they will only blow after a sustained length of time at the higher current.
so if you are running off 12V batteries, when the battery is fresh (12.7V), 300W is only 23.6Amps, as the battery voltage dips, the motors compensate by raising the current, as the current raises the slow blow fuses stand more of a chance of blowing, these currents are so marginally above the fuse rating that it is obviously taking you half hour to get to the point the fuse dies. if you are running on a lower voltage battery than 12V the currents will be higher.
upping the fuse to 25A should protect the wiring while stopping the problem.