I really don't know what price a mid-range hotel is. When I was in Sweden, some business people recommended the Scandic hotels in Stockholm to me. There is one near the central train station, which would be handy if you are taking the Arlanda Express from the airport and it is close to Gamla Stan. The Scandic Hotel on Gamla Stan is obviously also in a good area. I'm assuming you mean you want to walk around Gamla Stan. However, there are so many wonderful areas to walk around, I wouldn't restrict yourselves to the old town.
I like more quirky hotels, and less expensive, too. I stayed on Sodermalm. This island has a beautiful walk high above the water looking across to city hall and gamla stan, and a cute old town. The lovely walk leads you down to slussen to gamla stan and also Sodermalm's old town. Anyway, I stayed at the Hotel Hornsgatan, which is about 1/3 the cost, at least, of a Scandic Hotel and in a great real neighborhood. I liked the character and the people running this little, old hotel, but if you're on a cruise I'm thinking it might not be your cup of tea. The rooms are quirky, but clean, bright and safe.