Drain Punch can only be obtained through breeding. Compatible parents are Mienfoo, Mienshao, Meditite, Medicham, Crogunk, and Toxicroak (Not counting others of the same line or species). Note that Meditite, Medicham, Crogunk, and Toxicroak will need to have Drain Punch bred onto themselves beforehand. Mienshao and Mienfoo are the best partners IMO, as they learn Drain Punch through level up.
Another option is to trade one to a friend on B/W 2 and have them teach it Drain Punch through the move tutor then trade it back to you. You could also trade it to your own B/W 2 game if you have one of those and 2 DS's.
Mach Punch can only be obtained by breeding as well. Hitmonlee, Hitmonchan, Magmar, Hitmontop, Magmortar, Monferno and Infernape are the compatible partners for this. I recommend using Infernape, Monferno, or Hitmonchan as all three learn it through level up and the rest need to have Mach Punch bred onto them.
One more thing i'd like to provide is a guide to breeding moves onto Pokemon in case you haven't done it before. Guide. Look under "Passing down Moves".