This was amazing because you posted the video and it's working perfectly in the video and you said it's working ahaha.
But yeah it looks like the issue is it stops letting you wall jump on a random occasion. You are using a lot of booleans and variables, seems to imply that a variable like 'canwalljump' is not set. You have so many events there that could conflict that it makes sense a bug may occur. Normally you would go in debug mode and check these variables and make sure they are as expected to begin trying to locate the cause.