Statt der Schieberegister und Relais hätte man hier auch gut Module der Firma Horter & Kalb (https://www.horter-shop.de/de/) verwenden können. Diese lassen sich per I2C mit einem Arduino oder ESP32 verbinden, und man kann so direkt 24 Volt anschließen, und spart sich so die Relais. Viel teurer wird dies damit dann auch nicht.
Zu den Modulen sei gesagt, dass diese nur für 500mA ausgelegt sind. Wenn das einem reicht, sind sie sicherlich eine gute Lösung, wenn man nicht selbst was zusammenbasteln will.
Ansonsten wurden ja bereits ausreichend alternativen genannt. (Es würde einem auch nur der eigene Geldbeutel daran hindern, an den Ausgängen der Module noch mal die von Tails erwähnten Relaisplatinen zu verschalten)