This game is really really cool !! Maybe one of my favorite for now.
Easy to learn mechanics, but not forgiving in any ways. A few colors, but well choosen and well used to convey the correct ideas at the right time. A sound design with a consistent quality : conveying the information quickly, that's all you want here. Great music !
I love this kind of challenging game and without arrogance I think I'm not bad at boss rushes in general. But here I really think the difficulty come primarly from the blocking-movement blocks spawning at the same time as a really wide attack. If you coded some pattern to come randomly or semi-controlled (random patterns coming by pairs), it is definetely causing some problems sometimes.
Boss 1 is no real difficulty, and I've beat it after 2 attempts. A really good intro.
The skeleton is just a matter of playing safe, but really cool mechanics that challenge the player's greediness ahah !
Boss 3, is for me, a real big deal. The problem I evoked earlier happened to me every time even tho I played as safe as possible : never taking the attack unless it was 1 block away. I kept getting stuck in a 1 -tile way while the really wide attack of the boss arrived (the one with only one column staying safe).
Of course, I think a lot more people could have beat the game with more training on it, but not everybody has the time, especially in jam and with so many games to test.
I guess this scaling of difficulty was wanted, but you have to answer yourself one question (if you haven't yet ahah) : do you want a lot more people to go through the whole game and see the result of all your hard work most of the time, or do you want people to stay on your game, trying to overcome the challenge and loving the game through "the wall" it represents ? I think both strats are good, it depends on your objective.
If this difficulty was not wanted and you realized it by the feedbacks the players are giving you now, then you have made something everybody (including myself) can make : playing your game over and over while developing it, thinking it's "quite easy" at the end and overestimating how you step-upped in your own game all this time. I made this mistake last year while level-designing Periapsis for LOWREZJAM 2019, and the submission comments can attest ahah ^^.
Again, sorry if all of this was obvious for you, but seeing it was your first finished game I tried to make a contribution ^^. I didn't try to sound arrogant or what so ever, and I have not many years of experience in GD. I only hope all of this could be useful to you.
To finish, here is an idea of mine to engage the players at overcoming the challenge : when you die, the game propose you to make/generate a screenshot of were you died, and your score. It's sometime seen in little boss rush games, and it is engaging people in sharing their scores !
Great game, be proud of you !