When you do weights there is three rules.
You should feel like your muscles have been used. This doesn’t mean “sore” but it should feel like you’ve used them.
Second rule is by the time you leave the gym, till the time you get home any residual soreness should be gone. I’d say within 30 minutes to an hour you shoudn’t hurt.
Third rule, this is the most important one, if after an hour you’re still sore, take ONE dose of aspirin, Tylenol, ibuprofen, or Aleve or whatever you use. If this ONE DOSE of those OTC pain meds doesn’t relieve the soreness, you’re doing it wrong.
To many people jump in to fast with weights. Start out slow. If an OTC pain reliever doesn’t stop the soreness you’re lifting incorrectly or trying to go to fast
As for how long to let your muscles rest. It doesn’t matter. The key is NOT to do the same routine over and over.
You can work your upper body one day and lower body the next day. But don’t do that for more than one or two weeks. If you do it for a month, by then your body will adapt and growth stops.
If you want to work the same muscles every day, that’s fine as long as the next week you CHANGE the routine.
You have to remember your body will always take the line of least resistance. That’s why muscles grow
It’s like you lift a wieght one day. You’re body says “Ok that’s odd.” Then you do it again, and your body says “Hmm, why is he doing this?” Then the third time you lift your body says “OK this is ridiculous if he’s gonna keep lifting this weight, let’s make the muscle a bit bigger to so there won’t be so much effort.”
So all routines are fine, but it’s variation of these routines that is the key. What ever you do change it after one or two weeks.
Also remember in addition to muscles when you lift weights it also strengthens your tendons and your bone gets a bit more dense too. This is why stretching before and after for about 5 or ten minutes is a good idea.