My first guess would be that printing to the console is using some kind of semi hosting or other mechanism that is taking a long time and generally messing up with the functioning of the MCU - especially if you are printing to the console continuously without the task ever going into the blocked state.
I would suggest removing the console print functions are replacing them with a simple incrementing variable. For example:
Create both tasks, let the application run for a few seconds, then stop the application on the debugger and inspect x and y - as you are creating both tasks at the same priority both variables should have incremented.
Note if you create the tasks at different priorities then only the higher priority task will run because the code above does not allow either task to enter the Blocked state.
If you don’t have a debugger then it will be difficult to support you, but the next thing I would suggest is checking that the tick interrupt is executing. If you don’t have a debugger then you can create a tick hook function and have that toggle a GPIO pin, then check the pin is toggling at the expected frequency on a scope.