Well in hindsight it may look daft but at the time the dates were finalised United were still in the Carabao Cup.
Which teams that are playing on Sunday were still in the Carabao Cup for the quarter finals? West Ham and Arsenal. These two happened to play each other in the QFs. Coincidence? No. Whichever won that QF would play their semi on the Wednesday. Now they couldn't have any of the other QF teams playing on Sunday because they had no idea how the QFs and the SF draw would pan out and therefore couldn't risk having a team playing on Sunday and then Tuesday. So this automatically ruled out Leicester, City, Chelsea, Bournemouth, Bristol and United playing on Sunday. I'll come back to the reason why they chose the Arsenal+West Ham pairing for Sunday.
So you've then got both United and City who can't play on the same day and can't play on Sunday either. Only solution left? Put one of the teams on the Friday night. I'm guessing the fact that United played on Monday while City played on Tuesday is the reason they put United on the Friday night. Which is totally fair enough.
You could argue that they could have waited for the Carabao Cup results/draw before finalising the FA Cup fixtures but on the other hand the FAC 3rd round is a complete clusterfeck with a million things to take into consideration (logistics, tv games, security, tickets, transport, close stadiums having home games on the same day etc.). The sooner you finalise the dates the better.
As for Spurs (and West Ham) they're playing on Sunday, not Saturday. Their NYE fixture was moved to tonight because of safety reasons so they're rightly given an extra day's rest for the weekend. And there you have the reason for why they chose to have the West Ham+Arsenal pairing on Sunday rather than City+Leicester or Bristol+United.
So if anything they've played this right by taking absolutely everything into consideration.