Why on earth would torpedoes increase convoy attack? Subs used cannon whenever possible to save on the more powerful torps.
You answered your own question...
Cannon have limited ammo too, and cannot be fired from submerged position or will reveal the sub at a nighttime attack. I think most merchant ships were sunk using torpedoes actually with the deckgun being more of a backup weapon.
Alot of pictures have wording like this "Sub using deckgun to finish off ship after torpedo hit", This implies the majority of damage were already done and that the torpedo was the primary weapon. Convoy lookouts were looking for periscopes and torpedo trails, not sub deckguns flashes.
A sub with better and more reliable torpedoes would be more efficient because it can sink the next ship trying to get away or keep fighting submerged in the situation where the deck gun would normally be used.
Subs normally brought 20-30 torpedoes and in an Ideal situation a single one in the right place can sink any merchant ship. How many subs did sink 20-30 ships per patrol that thus would be possible with 100% powerful, accurate and reliable torpedoes? Not very many, right? So until they do better torpedoes make them better raiders.