I have been reading about why replay protection is important. What I don't understand is why Core can't add it? Why do they want 2X to add it. Can someone please explain that to me?
Adding replay protection requires a hard fork. It requires a change, such as to address format, that invalidates transactions on the alternate fork. Segwit2x is already hard forking. It would be fairly trivial for them to slightly alter the address format to achieve strong replay protection and therefore make transacting on both chains completely safe post-fork.
Core has consistently stood against hard forks, so it doesn't make sense for them to hastily hard fork now just because Segwit2x exists. If the Segwit2x camp wants to fork off, they should go ahead and do so. That shouldn't add any burden for Core; it's only proper etiquette to fork in a way where users won't lose money. That means adding replay protection to your fork. The only ones forking are Segwit2x, so it's incumbent on them.
And from a practical standpoint, it's far too late for Core to release an update that would be adopted widely in time for the fork. It would be a contentious update, and the fork is only several weeks away. Much of the ecosystem won't have adopted the update. Segwit2x, on the other hand, has very few nodes on the network. It would be much more trivial for these few nodes to update than the entire Core ecosystem.