Hi @mandymandymandy,
At the end of the day the only thing you will have will be a set of thread executing publishing tasks or subscribing ones so technically it does not matter. On the other hand, there are important things like keeping the code clean, adjust to ROS standards and organizing properly your project.
If you are OK dealing with the set of subscribers and publishers in the same node go ahead, but take into account that if you split this two sets in two different nodes, technically you will have the same set up but better understanding of your package structure and code.
At least is how I see it, if someone in this community wants to add more background on this kind of problems I will be glad to hear it.