Mercutio uses puns when speaking to Romeo a lot. But in act 2 because a lot of those "puns" are very sexual in nature, lots of innuendo & he is not so much speaking to Romeo but of him. Rather he is speaking of Romeo to benvolio, and is referencing Romeos absence after the capulet ball.
Comedy has changed quite a bit since the time of Shakespeare. Puns were not seen as low humor then, quite the opposite. Shakespeare's plays are actually fairly riddled with puns and sometimes left out for modern audiences.