Yes. All promo-codes will work on all shared hosting plans. However, the level of discount provided by a particular promo-code for each plan type (and plan period) is totally up to the creator of the promo-code.
It is possible to create a code that provides maximum discount on one particular plan type and a much less discount (or none) on others. If in doubt, try the promo code during the sign-up process, the level of discount will be shown before you commit any funds.
I should also note that the maximum discount allowed (by DreamHost) on monthly plans is less than the discount allowed on yearly or 2 yearly plans, but the discount is usually enough to cover the setup fee on monthly plans.
It should also be noted that DreamHost recently changed the sign-up process, paying for your plan using PayPal is no longer an option if you use a promo-code.
Of-course, if you were given a promo-code by the person who originally referred you to DreamHost, then the fair thing would be to use that promo-code.
Save [color=#CC0000][b]$50[/b][/color] on DreamHost hosting using promo code [color=#CC0000][b]SAVEMONEY[/b][/color] ( Click for promo code details )