most any DIY 3D printer controller which is supported by GRBL will work for you and if you want software based Z control you’ll need one with at least 3 stepper motor drivers/sockets supported.
Some of the most popular diode laser machines, Ortur, NeJe, etc use GRBL firmware on their controllers but are also only 2 axis controllers an rely on the user manually making Z axis adjustments.
The 8bit boards are quite inexpensive but have limited program storage space and 32bit boards are the way forward IMO. They can also be pretty inexpensive or expensive. I do like boards with driver sockets so I can pick my drivers but there’s a bit of headache with that in figuring out what jumper configurations are needed for the drivers selected. TMC2209 are my current favorite because they are super quiet and run the motors cool.
There’s other laser firmware which works well like Smoothieware and is supported well and for certain controller boards. There’s also Klipper firmware which you might run across but they might still be more tuned to 3D printing than lasers still.
I switched a few of my machines to LinuxCNC on rPi and Remora on the Smoothieware compatible 32bit controllers but that’s a whole lot of learning required for setup and ease of use.
One last thing to look at would be http://Grid.Space and the Kiri:Moto software. They have middleware software to work with GRBL based controllers which acts sorta like OctoPrint but for lasers, 3D printers and I think CNC. This all works with the browser based(locally run software) slicer software for all 3 machine types. It’s quite amazing really.
Your choice of software in your workflow can dictate what hardware you’d need to run on your laptop, desktop or SBC computer. There’s hardly only one choice for everything from controllers, firmware and CAM toolchain. I probably spent close to 6 months figuring out all the options before I settled on making my Mini Kossel based 3DPs almost 7 years ago. Lots of interesting things to learn and consider if that’s your interest. Have fun and learn something.
My machines:
2 mini Kossels, one AVR/RAMPS with OctoPrint, one BBB/CRAMPS with Machinekit/LinuxCNC
1 Creality Ender 3, was GRBL with OctoPrint migrated to LinuxCNC/Remora on SKR v1.4
1 Makerbot Replicator2 running Sailfish on stock AVR controller manually loading files on SD card
1 Ortur Laser Master 1 running stock GRBL on their STM32 controller
1 K40 CO2 laser originally run stock M2 Nano/K40 Whisperer, migrated to MKS Sbase v1.3 Smoothieware and now running LinuxCNC/Remora on rPi with same MKS Sbase controller.
Software: Lightburn, Prusa Slicer, Inkscape, GIMP, FreeCAD, Kiri:Moto, OctoPrint, LinuxCNC, bCNC and other conversion or editing tools on Linux laptops, desktops and rPi SBCs.