Please don't use net labels to make connections... To explain by example:
Sheet 4 is completely nothing but abductees. How am I supposed to know where they go?!
U2 is floating in space, is it a standalone module? No it's actually a regulator chip, oh and everything around it are the support components, well they're right there, why not just draw in the lines and nudge the components around a little to make it look pretty?
Then again maybe wiring isn't your forte, R1 seems to be misplaced heh.
Anyway, that's the schematic. I don't know what else may be lurking, with the net connections like that, but it's mostly connectors left, and the ESP32 isn't even connected (besides 3V3/GND), so you can probably solve anything left by just rewiring or whatever.
Oh, yeah this is hierarchical too? So, more than half of those net labels are actually off-sheet ports, aren't they... Yeh, this is a prime example of a design that can be put on flat sheets, maybe two or three of them. Only a handful of off-sheet connectors/ports/connecting net labels are needed, the connections will be obvious to see, less to keep track of, easier to read.
Anyway, not to harp on that forever. And, not trying to be negative, just frank in my usual way. Schematics are a visual sort of language, and like any, it takes time and practice to learn, and [constructive!] criticism to hone. Cheers!

As for what might be missing -- not much; you probably want a TVS at the input, pretty close to 24V, to deal with possible inrush surge and ESD. So, SMAJ24CA or the like. You have very little headroom on Q1 (30V) or U2 (28V), so mind that the TVS clamping voltage will be very close to (or already over) their limits -- Vp typically 30-40% above Vnom (so, 30-32V say?).
If this is an installation kind of thing (board tucked away in the machine for ever and ever), this probably doesn't matter, but it may prove valuable during development alone -- the most likely scenario for inrush is hot-plugging when you go to connect the power supply, or reconnect it to reset the CPU after an inevitable crash, or etc.
Which, if that's 24V internal from the machine -- mind that they may be using an AC transformer and FWB + filter, and the output voltage might be 24V nominal but varies considerably with load. Or even, if it's from an actual 24VAC transformer, the DC will be SIGNIFICANTLY more (+40%). So do check to be sure!
If you're using a new SMPS, it should be fine. Just avoid hotplugging if not using a TVS.
As for layout, probably more clearance to the mains voltage (from GND) is a good idea, mainly on the right side. Keep it similar to the opto spacing. Probably just shove the mains-stuff leftwards a little bit, no problem?
Add thermal relief everywhere -- you won't regret it. THTs and SMTs both solder easier and faster this way. Nothing on your control side is carrying much current so you don't even have anything to worry about as far as current capacity or power dissipation.
Add stitching vias -- bottom side is GND as well, I think? This vastly improves the EMI performance of the build, not that you have much active here anyway, but if nothing else, a good lesson for future projects. One every 500 mil (12-13mm) is fine, with particular emphasis on perimeters of the pour. Pay special attention to the negative space cut off by traces/pads within it -- peninsulas and crossings are prime targets.
Oh, heh... you might want THTs for those snubber resistors. Those need to be pulse rated, for... fairly obvious reasons. ...Is it, obvious? Maybe one could make the excuse, what with the zero-crossing drivers? I don't like it, but potentially, hmm. (The fault condition won't be anything particularly nasty: chip resistor fuses open --> snubber inactive --> maybe the TRIAC turns off unreliably, or chatters, or latches on. The heater latching on would probably be worst case, but if you have a readout and you're minding the machine, you'll notice anyway.)
And maybe swap the pins on the TRIAC drivers (they're bidirectional, after all!), get a better layout without that one trace hooking wide around.
Also, if you like SMTs -- TRIACs in D2PAK would be fine here, the heatsinks for TO-220 probably aren't even needed. Add some pour to the tab for heatsinking, probably fine.
You noticed the TO-220 pin/pad spacing -- good catch -- the trick is the TRIAC is only rated for so much voltage anyway, so you only need to clear that much, not full mains (1.5/2.5kV surge included). Often, this is fine with pins as-is, or you might consider narrowing the pads a bit (and the traces entering) to improve that a smidge. (I often use, let me see -- 60 x 80 mil pads on 40 mil holes for TO-220, which leaves 40 mil clearance.) Board cutout (rout) can also be placed between pins, though it's a bit of a pain (the PCB fab prefers to use larger (~2mm dia.) end-mills when they can; but they're forced to use a 0.5mm or so for a feature like this, so it takes a tool change, slower feedrate, the tool wears faster... The cost increase to you isn't much, but it's worth noting.) You can also stagger the pins, usually the middle pin sticking out 100 or 200 mils from the row -- this is commonly done for cheap production where they might not even have the precision to punch* a slot anyway.
*Cheap phenolic boards are die-punched instead of milled! Very cheap indeed, saving maybe a couple cents/unit in the qty millions. Irrelevant here: you'll pretty much always have the luxury of FR-4 and plated-through holes. And, even proto services are shockingly cheap these days!
On the note of pours and stitching, I take it the bottom-right (bottom layer?) pour is 3V3; I'd just flip around the regulator, so its output is on the right hand side, and then you can stitch ground under the regulator, further shrinking the ground-return paths -- a special priority for switching regulators.
Tim