I was trying to look into the code, it really a mess.
Normally finding such a simple error is quite easy.
But you have a very redundant code.
Looks like you prototyped a simple quick hack, and then copied it
for every element / Pipe in the map.
You jumping bug is probably also in one of these many repititions.
now i have to think the whole night
Take this as learning experience, and try to structure and simplify your code
more.
Things like jumping should not be directly affect by a condition for each game element,
but only by a central jumping / gravity / collision function.
Also: dont use these "startup" functions for the core logig. As the functionname controls that they get startet right away. If you need
to let a function start later in the game for some reason, you need to rename it.
Rather let the main function start all your functions.
The startup function should be reserved for special initialization procedures.