Given the amount of quality experienced talent in the marketplace right now, you wouldn't have been hired in the first place if the hiring organization wasn't fairly dysfunctional to begin with. In this business, a small team of experienced and well-compensated developers with a strong work ethic (the latter doesn't necessarily have anything to do with hours they put in - only measured by their work product) will run circles around teams twice their size. Teams like this simply don't hire new grads (unless the new grad is already well known to them and proven themselves through an internship or open source project). As the economy has slowed, most organizations have cut back compensation increases, reduced or eliminated bonuses, and perhaps implemented a week or two of furlough - this serves to further demotivate those who survived the last round of job cuts and makes plain the reality that in general hard work is not itself rewarded with anything but more hard work. You'll continue to struggle in your current position until you accept that the nature of your relationship with your employer is mutually parasitic.
That said, you don't need to sink to the level of your co-workers if they are not delivering quality product. Unless you're happy working long hours and weekends, set reasonable limits on work hours that you'll only bypass under extraordinary circumstances (you'll need to have some notion in advance what qualifies so that isn't abused). Your co-workers and boss will respect those limits if you're clear about them and demonstrate a high level of dedication during work hours. Until you have specialized skills and experience that entitle you to become choosy about work assignments, consider your current career stage one of "paying your dues" and hopefully you won't waste the resulting seniority like your co-workers. Whatever you do, don't waste your time worrying about what your co-workers do. Find ways to carve out areas of responsibility that you own and prioritize your efforts such that your best efforts are always spent on those projects that your leadership chain knows are owned by you. Be conscious of what your boss gets credit for as well and be sure to prioritize accordingly - but don't make a show about it and be careful about that which might be interpreted by your co-workers as making them look bad or "sucking up" - over time you will find that it's possible to get the respect of your peers and your co-workers as well, particularly if you take the to socialize with your co-workers--you still need their experience and they'll share the important details you need if you gain their trust on a personal level. Above all, be realistic. While you need to pay lip service to all the idealistic things your corporate culture and individual upbringing values, your actions should be based on realistic assumptions about what's possible. Sometimes extraordinary things will happen, but planning for the extraordinary is usually a recipe for failure.
In short, quit wasting time worrying about everyone else and recognize that entry-level positions always come with organizational dysfunction. Learn everything you can in this position so you can become qualified for a better one down the road. Repeat ad infinitum and you will have a full and rewarding career.