H Bridge Control using Raspberry PI / Micro controller
Why are you not driving the motors directly by L293D? Its a reliable working H-Bridge and also the it can make your circuit less troublesome..

There are other ICs avaliable for H-Bridge based on persons requirements..