Reupholstering is supposed to be more expensive than buying a new sofa. since you put down a nice chunk of change for this one, I would consider contacting the manufacturer to see if they have someone who can repair the buttons.
Alternatively, someone in a dry cleaners probably knows how to sew on a button, so if you have a good relationship with your dry cleaners, you could ask them if they would be willing to do this.
Or maybe just get a seam ripper and remove all the buttons so it looks the same all over?