If the tag is scratchy/itchy/otherwise annoying, off it goes. If the buttons are big, off they go. If it's a soft tag with small buttons, it can stay.
As for extra buttons in general, and extra yarn for repairing sweaters: i generally try to keep extra buttons with the hang tags, all in one little container in my crafting supplies storage area. I'll staple the little ziploc bag of buttons/thread to the designer's swing tags if the garment came with one; for stuff that only has a price tag, I'll staple the button bag to that. Then I put them in my little bag that is dedicated to holding my spare buttons. I go through that bag anytime I do a wardrobe edit and eliminate the ones that belong to garments that are leaving my possession.
I've kind of gotten tired of digging through a bag to find buttons (even though it really isn't a big bag), and I've commissioned a "wardrobe junk journal" from a friend who's into scrapbooking. I asked for full size pages with pockets so I can put pics of items and make notes and store extra buttons. I asked for room to make notes because some items just have a great story. I guess it's my version of the spreadsheets that so many of you guys keep to track your spending and cost-per-wear.