Scrape up the old caulk with a putty knife, then scrub over the grout with a toothbrush to remove any other loose debris.
Put on rubber gloves and pour oxygen bleach over the stains in the grout. Allow it to soak in for a few minutes, then vigorously scrub the grout clean with a grout brush. This may take several minutes, depending on the stain.
Dampen a sponge with water and rub over the grout to take up the oxygen bleach and rinse the grout.
Apply a coat of grout sealer over the grout using a paintbrush and let it dry as long as directed by the manufacturer. Then apply a second coat of sealer and allow it to dry.
Run a bead of new caulk over the grout using a caulk gun to finish the cleaning project.