You can either try escaping the single quote delimiters of the <<sheS>> macro's parameters, like you are doing with words like ```I\'ve``` and ```That\'s```
'Why didn\'t you tell your marvelous <<sheS \'sister\' \'brother\'>>? :('
... or you can try switching to delimiting the <<sheS>> macro's parameters with double quotes instead
'Why didn\'t you tell your marvelous <<sheS "sister" "brother">>? :('
opinion::
Personally I think the main issue with what you are trying to do is the method you are using to pass multiple sets of comments to your <<chat>> macro. I would of uses a collection object like an Array to group each set of comments, and used child Arrays to group the items within each set.
<<chat [
[$name, $sName],
[$sName, 'Hey bro', 'I\'ve heard from mom that you were coming home soon!'],
[$name, 'Yes.'],
[$sName, 'That\'s amazing!', 'Why didn\'t you tell your marvelous <<sheS \'sister\' \'brother\'>>? :('],
[$name, '...', 'You know why.'],
[$sName, 'What?', 'Are you still mad about last time?'],
[$name, 'Let\'s not talk about it.']
]>>
... that way you are only passing a single parameter to the <<chat>> macro. It would of also been easier to loop through each set of comments and each of the items within a set.