I may not be the most qualified to answer this since I am not a programmer. I am positive that there are folks who will correct me, but I will try my best by writing down the pseudocode of what you have posted here.
This is what the code reads like
When the game runs - it runs through these instructions just once.
1. it loads the global variable called 'scoreboard' and assigns the value 0 to it
2. it loads the second global variable 'meters' and assigs the value 0 to it
3. the system then runs its first event. The condition is if players y coordinate is less than 0, then tell the system to overwrite the variable 'meter' with a whole number.
4. As long as Y is less than 0, the run the second condition - If the variable 'meters' is greater than the variable 'scoreboard', then tell the system to rewrite the variable 'scoreboard' with the value of 'meters'
(i.e if meters is 3, rewrite scoreboard to 3)
at the same moment of time, update the object "spritefont_scoreboard" with the new update score.
Now, all these insurtcions are being execuited once. This means that when you run the game, these instructions just run one time only.
I believe what you need here is a way for the system to check these conditions every x seconds and see if anything changed.
My suggestion is to add a event condition on the top (line 24)
System - check every 1 second (or even lesser if you need your game to update faster)
and then add all those conditions from 24 to 26 under this condition
What we are instructing the system to do is - for every 1 second, check events - is player's Y less than 0, if less what is the value of the meters (round to a whole number), check if meters is greater than scoreboard, if yes, update scoreboard with the same value as meter, and update the spritefont object to display this
Now to address your second question - to add +10 points when the player collides with an object
You can just write that as a separate event - if player collides with an object = add +10 to the scoreboard.
this does not need to be in the events that you already have.
Explanation:
the variable scoreboard is getting its updated values from two places - one is if the player has collided with an object (+10) and the second one is if the meters variable is greater than scoreboard
I'm a very visual person, so here's a mock of what the code would look like