My initial thought was maybe you were missing an event systems but after looking at your app, I feel like there might be an issue with the Canvas scale. I've experienced issues like this before where I click at a position on the screen (such as [0,0,0]) but unity detects the click at a different position (such as [15, 129, 0])
I recommend logging clicks to see where unity thinks the position of the mouse is verses the position of the button.
Another recommendation is to instantiate a colored cube on click to see exactly where Unity is finding the click position.
Best of luck with the issue.