How often you bathe your dog depends entirely upon what kind of dog he is. If he is a dog whose hair sheds routinely, you don't want to bathe too often. If he is a non-shedding dog, he needs to be bathed much more frequently.
Double-coated dogs, those with a thick, soft, fluffy undercoat and harsher guard coats (German Shepherds, Huskies, etc.) will suffer if they are bathed too frequently. Their coats are naturally dirt repellent and water-proof. If you bathe too often, you strip the natural oils that protect their coats from the elements. Every 6 months or so is generally sufficient for these guys. If you bathe too often, you can actually cause them to get messy because their coats no longer repel dirt and water!
Dogs with very fine undercoats and harsh guard coats (Labs, Rotts, etc.) can be bathed about once a month, but probably can get away with only being bathed about once every 3 months. Again, you strip the element protection every time you bathe. These dogs will quickly regain the protective oils in their coats and can get very stinky as a result of too much bathing, as they will get extra oils to protect from the over-bathing.
Dogs like Poodles, Schnauzers, etc., who don't shed or shed very miniscule amounts, need to be bathed at least every 6 weeks, with weekly or every other week baths not being bad for them.
After neutering, you need to wait until the incision is healed. If the vet uses removable stitches, wait until he has taken out the stitches. If he uses disolvable stitches, you will probably have to wait 10 days...DO ask your vet to confirm this. Always ask your vet any questions regarding your dog's health!