Yes, it's because of heating. All the transistors are on one die so they all contribute to heating.
Note the "at temperature 50°C" on the Y-axis. If your maximum ambient could exceed the rather low value of 50°C you should derate those numbers.
Also this graph will apply specifically to the stated package type, as thermal behavior is different for different packages.
You should stay well away from "maximum recommended" values if you care about long-term reliablity.
A physically small MOSFET with low Rds(on) can handle much more current because the voltage drop across it when 'on' is much less than with the Darlington output stage on the UDN2981. For example, an AO3400 has less than 50m\$\Omega\$ Rds(on) with 4.5V drive, so at 1A the power dissipation is \$I^2R\$ or 50mW. The UDN2981 at 350mA can drop as much as 2V so 700mW.
At equal current (say 225mA) typical dissipation on the UDNxxx is 383mW (one output) vs. about 1mW for the AO3400! (note that I'm comparing N-channel MOSFETs with a high-side driver, but a P-channel would be very similar)