Arduino + relays + multiple magnetic locks
Depending upon how simple the user interface is for your locker setup an Arduino may very well be able to manage a whole bunch of lockers. Yes you do need individual I/O control to manage each of the locks (whether that be by relay, transistor, FET ...) but there is an easy way to deal with getting the I/Os that you need for the Arduino. 

The Arduino is capable of operating an I2C interface. You can utilize an 8-bit Port Expander chip that has an I2C interface. This can provide control for up to 8-locks. Then add up to three more of these I2C parts to control additional lockers up to 32 total. A suitable port expander part may be the PCA9538.



(Image source from NXP 9538 Data Sheet)

Each of the four port expanders in your system would have the A0 and A1 pins connected in combinations of 00, 01, 10 and 11.

Note that you can also find port expanders that have 16 I/Os if you want a different level of incremental build out for your system.