Hi Crystal!
This is just my personal opinion. It all depends:
Does each location have a manager or team member that wants to manage their own account and create their own posts? If they want to post their own specials and announcements, then this would be a reason to create separate ones.
For Facebook, for local SEO purposes, I recommend creating a business page for each location so that each of these locations can collect their own recommendations / reviews and each Facebook page can rank on Google for their business name. For example, "Bob's Burgers Tampa" will most likely show their Facebook page in the search results along with their website or location page on their website. If they have a main HQ, you can set them up as parent / child Facebook business pages. Starbucks is a great example:
Starbucks
For Twitter, for local SEO purposes, I don't think each location would warrant their own profile unless each location wanted to manage their own. Especially if the locations are close to each other or in the same region.