You certainly can do much better than that.
Budapest - Vienna:
Option 1: you can buy a second-class ticket, valid for up to 4 days, for €25 each (or €31 each including 2 days' public transport in Vienna). This ticket is valid on any train, no advance booking required. It's actually a round-trip ticket, but is cheaper than the walk-up, one-way ticket.
Option 2: buy a one-way, advance ticket (at least 3 days before departure) for a specific train for €13 each second class (including reservation). These tickets are quota controlled, but there are several trains a day and usually plenty of availability except in the busiest times.
You can in theory buy these tickets on-line on the MAV website, but it is currently only in Hungarian and you have to pick-up the tickets in Budapest anyway. Best to get them at the station before you travel (although option 2 needs advance purchase so may not work, depending on the time you have in Budapest).
Budapest - Bratislava: 2nd class walk-up fare is €16 each round-trip (cheaper than a one way ticket).
Bratislava - Vienna: I'm not sure, but it won't be more than the €14 each round-trip fare from Vienna - Bratislava.
So taking the most expensive options (2nd class):
Budapest-Bratislava, Bratislava-Vienna for 2 persons: €90 max (about $130)
Budapest-Vienna direct for 2 persons: €62 max (about $90), but advance tickets would be only €26 (about $40).
Second class is perfectly OK on these trains. The best trains are the new Railjets between Budapest and Vienna. Bratislava - Vienna trains are only local trains because of the short distance.