How can the traitor win scenario 49 in this way?
This Haunt is one of those that causes... issues and debate among the playerbase due to ambiguities in it, even after revisions (one printing of the haunt actually gave the astral spirit a Sanity of 1 instead of 6, which would prevent them from even possessing a body in the first place!). Liberal use of the rule on the inside front cover of the base rulebook is pretty much required here. The exact text of that is as follows:


  What If There Isn't a Rule for That?
  
  Many hours went into playtesting this game, but it's still possible you'll run into situations where the game rules or haunt books don't clearly answer a question about game play. Don't let that slow you down. In such cases, come to an agreement as a group for what makes the most sense and go with it. (If that doesn't work, flip a coin to decide.) Then continue your experience in the house.


There are a few potential house-rulings to fix the token shortage:


Given that the revised text is that the heroes must HAVE the tokens, not HAVE COLLECTED, the tokens they gained would be lost upon the destruction of the hero's soul or body and returned to the pool of tokens the heroes set aside. An immediate rebuttal is that the tokens are used to represent damage dealt to the Astral Spirit, and a second one is that in a 6-player game, you're still going to have the token limit problem even with this.
Given that the sole reason for marking the body the Astral Spirit is attempting to affect is to count the number of successes, there is no reason why an alternative marker (e.g. a standard d6) couldn't be used. Unlike the previous house-ruling, there is no obvious rebuttal to this, and this in particular completely bypasses the physical token limit. In addition, in a 6-player game, it is actually possible for the Traitor player to place down 20 Tokens without ending the game (which is more than the total number of attribute tokens the game comes with), and these tokens are never removed.


As for the six interpretations you provided:


erroneous sanity stat aside (Astral Spirit's stats are 3 Speed, 6 Knowledge, and 6 Sanity, go grab the revised traitor's guide), in a 5-player or 6-player game, this presents a problem as the heroes would only need to score two or one (respectively) Sanity attack successes against the Astral Spirit. Also, note that the Astral Spirit must have already destroyed the soul of the body it wants to affect before it can start affecting it, and if the Traitor (not the Astral Spirit) were to deliver the finishing blow, the body is destroyed instead of the soul [same effect from the Hero's perspective, but the Astral Spirit can't use the destroyed body].
See the first proposed house rule above.
This has the problem of basically cancelling the progress made by the heroes. A potential fix would be to swap out the hero's Sanity Roll token for a Knowledge Roll token if you were to do this, as this would preserve the hero's progress while also not allowing the physical token limit to stop the traitor from winning by the special victory condition.
This is even worse than the previous as if all 5 heroes were to have scored a Sanity Roll token, the traitor is still locked out of that win condition.
Not likely, given the traitor can place 20 tokens down in a 6-player game and the game only came with 18 attribute tokens total. If the Astral Spirit destroys 4 of the five souls and then affects each of their bodies 5 times each, the game still doesn't end.
See second proposed house rule above.


Of note is I think this is the only haunt in the game where the physical limit of tokens is a problem.