There were some people saying that if there are more players in my game setasync will basically mess up on me? is that true?
Do what you want to do. You should use SetAsync if you want to completely overwrite the player's information, or if the player's information is nonexistent. Even then, you could make your own artificial UpdateAsync that could work wonders compared to the normal. UpdateAsync updates the previous given value. It's rather different when you think about it. You should always take in consideration what you're using, and the way you're using it. Read up on the topics here.
https://www.robloxdev.com/api-reference/function/GlobalDataStore/SetAsync
https://wiki.roblox.com/index.php?title=API:Class/GlobalDataStore/UpdateAsync
https://scriptinghelpers.org/questions/6534/setasync-or-updateasync