Game can be ended only after the second player's turn. So the answer is nobody. Play the second players turn. After that the player with most vp wins. In case of tie, play one more turn.
The check for a winner happens at the beginning of the first player's turn. So I think what the OP is asking is "who wins if it's tied".
The answer is - if there is a tie when you make this check, the game continues; play another round, and check again next round, until one player has more VP than the other at the beginning of the first player's turn.
2. All the scenario VP Step, is that possible to gain multiple VP by fulfilling the requirement multiple times?
Example 1: Barrow Mounds of The Gatesman (BLUE)
"Gain 1 VP if a friendly Rune Golem unit occupies a hill hex on your half of the game board."
If I have 2 Rune Golems and each of them is occupying a hill hex. Does that means I will gain 2 VP during VP Step?
Example 2: Staking a Claim (RED)
"Gain 1 VP if friendly units occupy at least 1 of each type of the following terrain: Clear, Forest, Hill"
If I have 6 units, and each on them occupying the 3 terrains twice. Does that means I will gain 2 VP as well?
It depends on the card. If it says "for each", then yes, but generally, it's either a "you met the condition or not". In both the examples here, you can only score the bonus VP once per round.
There are some that say something like "score 1 VP for each XYZ that's true" (I think there's an Uthuk one that says you get 1 for each pair of hills you occupy), but unless it has wording like that to allow for multiple scoring, you can't.