I know this. The problem is two fold.
1. They have more than 1 need.
2. 3B was 125 +RC+, SS 131 wRC+, 2B 123 wRC+. Those 3 spots were not the problem.
That's pretty deceiving way to look at things. You're presumably calling SS Baez and 2B Zobrist. Zobrist played 395.2 at 2B and 424.2 in RF. In other words, he's closer to a RF than a 2B. As for Baez, he played 699.2 innings at 2B and 462.2 at SS this year. You can't say Zobrist isn't an every day RF and then plug him in as your every day 2B. Hell, he wasn't even bad defensively in RF this past year. While I think it's valid to say given his age you don't want him literally starting every day, that fits perfect into what the cubs are likely going to do anyways. You're going to have roughly 2200 PAs between all outfield in a given season. You can easily slice that 4 ways between Zobrist, Heyward, Almora and either Happ or Schwarber and use the other for a trade piece. You can give each of the 4 you keep between 450-500 PAs which is exactly how joe used them this past year.
If you do that then Baez is your starting 2B where he's far better defensively(19 DRS at 2B vs 4 at SS with about 300 more innings at 2B). Plus, if you don't sign machado you literally have no one on the roster other than Baez who can play SS for at least a month and that's assuming Russell is back with the team which we literally have no idea about right now and which the cubs likely wont make a decision on until spring training. So you're literally creating a hole by not signing another SS.
As for having other needs, I mean not really. Sure I think you need a better back up C but the cubs don't have to have someone amazing. They only spent $2.5 mil on David Ross in 2016. You can find someone like him for fairly cheap. The starting rotation is very likely set. 6 of the 8 bullpen arms are likely set unless they decide to move Monty in trade given his previous comments on wanting to start. They also likely have no choice in bringing back Kintzler and Duensing as the first has a player option he likely accepts and the second is under contract so you may as well bring him to camp and see how it plays out.
Simply put, you maybe need 1 bullpen arm and I haven't even talked about possibly using Alzolay out of the pen or allowing Dakota Mekkes to compete for a job. Both would likely be strong internal options should they choose that path as well as Maples/Norwood/Rosario/Hancock/Zastryzny/Mazzoni/Mills....etc who they used as shuttle arms to great effect.
The roster is pretty robust. I mean sure you'd like a lead off hitter and maybe a more impactful bullpen arm but you have Happ, Caratini and maybe Monty to shuffle around should you so choose not to mention if you do bring in someone like Eaton he's likely taking another guy out of consideration. I mean just as an example here, you could package Caratini, Monty, Happ and Bote for a lead off hitter and a reliever and then have Zobrist as a 5th OF/back up 2B. Wouldn't even need to be in the same trade. Caratini and Bote for a half decent reliever on a shit team would make sense and Monty and Happ would likely return a pretty good lead off hitter.