I put my volt meter on the setting so it beeps if the circuit is complete and I put it on the same ones that read zero and it beeps so I know there are no broken wires
I of course don't know what meter you are using but I'm pretty sure that not correct. It sounds like you have set you meter to resistance measuring. That setting is marked by the Omega (little horse shoe symbol). On that setting the battery in the meter sends low voltage current through the leads and the connecting wires. If the circuit is complete, the resistance of the is shown on the display and on some meters an audible sound is made. That tells you the resistance and the continuity of the circuit. If the circuit is not complete infinite resistance is shown.
Never connect you meter to a live circuit when on that setting. You will damage the components of the meter.
Set the meter to the ac setting, usually designated by a wavy line. Set the meter to some number greater than the expected voltage (120).
Do a voltage check between the bundle of white wires and the two black wires twisted together, should read 120V.
Do a voltage check between the bundle of white wires and the red and black twisted wires, should read 120V with switch on. Should read 0V with switch off.
Wiring looks correct in ceiling. Pull wires out of switch box so I can see them. From what I can see now they also looks correct. They should not have been changed.
Wiring is correct if power comes to the switch, goes to the remainder of the circuit through the black wire and to the light through the switch and the red wire. Wiring is also correct if power comes to the ceiling, goes to the switch and to the remainder of the circuit through the black, and returns to the light on the red.
That leaves the switch itself. Using the quick connect holes in the back are known to develop bad connections. Remove the wires and put them under the screws.