Great use of the theme! Some clever mechanics being used throughout the levels makes it fun to play. Might be a little high on the difficulty scale from the start.
The jumping issue is in the code. When a ledge or ground is not completely covered by the entire player character's collision area, the jump condition is not being met.
The hit boxes on the fireball enemies covers more than just the sprite itself. Made it difficult to time jumps sometimes.
The game came together quite nicely. Great job on everything!