Ventilation is key to preventing moisture from building up in a bathroom. Either the vent fan may not be running long enough, or it is moving an inadequate amount of air. The vent may be blocked, or the fan itself is not working properly, or does not move enough air (CFM) for the size of the room. If so, then the fan would need to be replaced. If it simply is not running long enough, the fan could be tied into the lightswitch so it automatically turns on when the light is on. You could also install a timer on the fan so it will run for a longer period of time. If there is a window in the bathroom, opening it can also help drying things out.
The paint in the bathroom could also be a problem. If you are getting stains that won't wash off, you most likely have a mold problem. The surface of the wall will need to be cleaned off with something that will kill the mold spores such as a cleaner with bleach, or a product specifically designed to kill mold. I would then suggest priming the walls and ceiling with a latex primer that is rated for interior and exterior use (low VOC). If you want to be extra vigilant, you can also use a mold killing primer. For the topcoat, a paint that is specifically made for kitchen and bath is recommended. I also would recommend using a satin or eggshell finish that can be cleaned with a sponge.
There is special type of drywall that is mold and moisture resistant. Obviously, that would require completely replacing the existing drywall, which is not economical. It is not necessary to install that type of drywall unless it comes in direct contact with water, such as in a shower stall, or as a tile backer. It used to be common practice to use water resistant drywall behind tile, but nowadays most people use a cement backer board instead.
Repainting the room is most likely going to fix the problem with the stains. If moisture still accumulates on the walls, then at least it won't cause mold issues.