except we noticed brush marks in about three different spots. I think the brush didn't have a wet tip and the poly dragged or something
This sounds like it could be possible. It could also have happened if you didn't keep a "wet edge." What this means is that you don't want to apply wet finish over partially dry finish.
We used steel wool again and did another coat of poly, this time with a sponge. When it dried it left these weird spots, so we put on another coat with a sponge... even more weird spots. (they almost looked like water marks?)
I assume you're talking about a kitchen sponge, which I would avoid using for finishing tasks. Since they're designed to soak up water, I have a suspicion that your sponge may have been partially damp when you soaked it with finish. If the finish is oil-based, that could be the cause of your spots.
Steel wool is fine for lightly scuffing the recently-dry layer of finish to promote better adhesion of a subsequent layer, but as @Graphus states, it's not meant for flattening. If you want a truly flat surface, sandpaper on a sanding block is the way to go.
This time we took 220 grit sandpaper and sanded the entire top of the table (with our hands... we didn't do enough research to learn that we should have used a sanding block... we're total newbies!) and put on a coat with the brush again. The coat itself looks great! But we can see scratches from the sandpaper under the poly
At the risk of contradicting myself, not using a sanding block isn't necessarily a bad thing. You don't need a pristine, totally flat surface to apply finish. I don't think I've ever made a piece of furniture where the surface didn't have little dips and bumps due to uneven sanding. I can almost guarantee no one will notice.
What you do want to do, however, is sand thoroughly enough that you remove the sanding marks from the coarser sandpaper used previously. Say you start with 150 grit paper. Next you would use 180 grit and sand until you can no longer see any 150-grit size scratches. Then use 200 or 220 grit and sand until the 180 grit scratches go away. And so on, until you're satisfied. Personally, I think anything over 220 grit for normal furniture is overkill. I usually stop at 180 grit.
do we need to sand down to get rid of the scratches (and probably sand out all of the stain and start over)
If you have scratches under a layer of finish, there's unfortunately only one way to get rid of them - remove the finish and sand or scrape them out.
or will using steel wool again and applying more coats of poly get rid of the scratches? I so do not want to sand down completely and start over, especially when we are this close to being done.
As I said, steel wool won't really do anything besides scuff the top layer of finish - it's not made for gross finish removal.
If you want a consistent coat in the final product, unfortunately I think you'll have to sand to bare wood and start over. It sucks, I know. I've done it plenty of times, and it doesn't get any easier each time. But unless you think you can live with the scratches, that's the route you'll have to take.
As an aside, depending on how noticeable the scratches are, you might be making a mountain out of a molehill. Remember that most people will never notice the small mistakes that the person who crafted the piece will.