They're short relative to other IP (like copyright), and short relative to inventions that have long R&D and cost recovery timelines. If $NEW_DRUG takes 5 years to develop, 5 years to trial, 5 years to market, and 5 years to profit...20 years isn't all that long.
If the invention takes 3 weeks and $0, yeah, 20 years is a long time.