I'd say 40 min is fine for an action-strategy game like League. Shorter than a hockey game. Shorter than many other sports, actually. Chess can take hours to finish and I rarely finish chess before 30 min (though it can be 'paused'). Maybe a 5 min intermission after 20 minutes (lol, maybe not). When I used to play tcgs, matches often took 40 min. A game I used to play called Fantasy Earth: Zero had 45 min matches quite often.
I'd say the 30-40 minute mark is perfect. It gives enough time for there to be more to the game than simply 'zerg rush mid to win'. A comparable game in level of strategy, World of Tanks doesn't allow revives. Matches are generally shorter, being 10-20 minutes, however, they are much more snowbally. The tables in that game almost never turn once one team has taken the advantage.
League gives enough time for strategy to develop without spiralling into endless poking. If it were shorter, the first team to lose a tower would be at a much greater disadvantage and there'd be less emphasis on actual strategy and more on meta. There is a 3v3 map to play which speeds it up a bit if need be.
League would be a different game if matches averaged 20 min. Part of the reason matches take so long is that stalling the opponent is a valid tactic. I agree though, it can be tough to fit an hour-long commitment into a busy schedule.
EDIT: Having re-read your post. The one part that bothers me is that you're playing league close enough to when you work that you have to leave a match.