Banks have some set of relatively fixed cost, in terms of systems and staff. In a low rate environment, there's virtually no margin to be made on short term lending. Stretching the duration for higher yield is the only way to get margin to cover expenses.
Even in a high rate environment, most of a bank's reserves tend to be short term - savings accounts, 1 year CDs, etc. The things people want to borrow for (e.g. houses, cars) tend to have a longer time horizon to pay off. So if you want banks to actually make those kinds of loans, duration matching doesn't work.