I don't think I'll be a huge help, but I went to Harrisburg a couple years ago, which is I think about a 15-20 minute drive from Hershey. If you stay in Harrisburg, do NOT stay at the Crowne Plaza -- I rarely complain about hotels, but I complained about that one (and ended up getting $70 in certificates as compensation). However, the Hilton in Harrisburg is really nice. Harrisburg has lots of restaurants, and some shops.
The Hershey Hotel is kind of isolated, but I recall seeing other lower-budget chain hotels in the area. We had dinner at the Hershey Hotel, and it was a really nice restaurant and good food. But, they required men to wear a coat, which seemed a bit over-the-top and unnecessary (the restaurant in the Hilton was much more elegant and even served sorbet between courses to cleanse the palate, and they didn't require a coat).
Hershey Park wasn't opened during the time of year of my visit, so I can't comment on that. We did go to Hershey World which was a bit cheesy, but the gift shop was terrific. We also did a trolley tour of the town which was interesting.
Have you tried doing a search on Expedia, Travelocity, or Trip Advisor to see what other hotel options are available? I generally find those sites to be pretty helpful. Good luck!