My friend said that if the player who goes all in has fewer chips then the other player(s) that the other player(s) have to go all in as well. I disagree. I thought the other player(s) had to only call what is the highest in pot to continue.
Your friend is wrong, betting continues as normal for players still in the hand. No one else needs to go all-in, they can if they wish. Any extra chips that the all-in player cannot cover will be entered into a side pot.
For example, player C is all in for 100$, player A raises to 200$, player C calls the 200$. The main pot is 300$, which player A,B or C can win, the side pot which player A or B can win is 200$. Betting is normal, no all-ins necessary from the players with more chips.
A problem with using that (not legitimate and completely made up) rule would be that short-stacked players, no matter by how much, would just wait for aces to double or triple up. In fact, it becomes an advantage to be short stacked, so players would be intentionally trying to lose chips, clearly breaking the game.
While your friend is wrong with no limit rules, your friend is not always wrong with poker in general. Indeed he may have experienced an old very rare house rule at sometime and is trying to apply it in the game you are playing with him.
The rule applied to structured limit games (like 4/8 Hold em). I have not seen it anywhere but Las Vegas, and not seen it in the last 25 years. At any rate some places had a rule that said if a player went all in for less then a full bet, any calls had to call the full bet. So if the round was check or bet eight and I player went all in for five, you had to call eight. If no one else called you got the side pot of three dollars. If another player called you had a side pot.
That particular rule never made any sense to any player. It was a time when the rake of a game was taken to the nearest quarter, at 5% and was maxed at two dollars. I recall thinking at the time that the only reason for the rule is so they got a little extra rake once in awhile.