You can get community support for Pybricks at https://github.com/pybricks/support.
ir.buttons(1) returns a list of pressed buttons, so In this particular program
if ir.buttons(1) == Button.BEACON:
needs to be changed to
if Button.BEACON in ir.buttons(1):
This will test if item is in list.
I'm assuming you are using the Control+ app with the 42100 liebherr r 9800 set.
The Control+ app is indeed limited to the fixed models.
However the Powered Up app can also connect to the Control+ hub and supports it reasonably well. The Powered Up app has a "Create" mode where you can use programming blocks, it's similar to the Scratch educative ...