Arduino PWM current expansion

The PMW port of Arduino mega to drive some motors, online information shows that the maximum output of Arduino 5V 20mA, the problem is that the voltage to meet, but the motor operating current to 100mA, there is any way to expand the current? At the same time I need a lot of PWM port, like L293D such module drive too little, PCA9685 external power supply drive current is not enough.

What motor are you using ?

A logic level MOSFET is often enough for PWM driving a motor.

So drive some suitable mosfets with the pca. You don't need a very fancy mosfet for 100mA, a small 2n7002 or bss123 or so will do.
Remember than you need an external power supply as the linear regulator on an arduino may overheat especially if you run a few motors at once.

And motors are inductive too, so can be instant destruction to a logic output.

Motors are driven with motor drivers, typically. For simple (unidirectional) driving a MOSFET and a free-wheel diode can be employed, same as in the various relay-driver circuits you can find with a search.

First things first, please post the datasheet for your motor. I very much suspect the current required by your motor is much more than 100mA BTW.

Here is a MOSFET motor driver circuit. It's shown with a 12V supply but 5V can also be used. It boosts the current (as long as the current is available from the power supply) and it will "pass" PWM.