Your itinerary looks to be well-thought-out. While the order of the cities you’ll visit for the most part avoids backtracking, there is still a great deal of moving about. If at each stop/city you have as many things planned to visit as you have cities to visit, you’ll really be on the go . Have you allowed time for those invariable serendipitous happenings that result in one lingering at a place longer than one thought? Your time in Madrid seems particularly brief.
Your flight Barcelona to Granada will eat up a big part of the day (arguably, maybe 5+ hours) and you leave early the next day on a bus or train. On to Seville, are you planning a “day-trip” to Cordoba from Seville? It appears this is an hour each way. To avoid two trips Seville/Cordoba, and, as I recall, go back through Cordoba on the train from Seville to Madrid, you might have one less day in Seville and then go to Cordoba with a partial day and night stay before taking the train to Madrid (perhaps leaving Cordoba later than you would Seville).
On to lodging: Of the cities you list, we’ve only been to Barcelona (two 1-day soirees while in port on a cruise, and a third time which was a 4 day and night visit). We’ll be returning there in October and we’ll stay in the same hotel we stayed at last time. It is not a RS boutique kind of place; on the contrary, It is a big, minimalist NH hotel west of the center city just off the Avinguda Diagonal. I’ve posed elsewhere on the RS Forum how fond we are of the buses in Barcelona. They are clean, run on schedule, and cover a vast area of the city. Seven bus routes run along the Diagonal near the hotel and we can walk less than 5 minutes and get a bus to just about anywhere in the city (or if one prefers, to a Metro station).
Since you’ll be coming from or going to the train station in Madrid five times (once upon arrival and out and back twice), you might consider a hotel within walking distance of the Atocha Station if for no other reason than to reduce the number of taxi trips.
Your visit is quite ambitious, hope you enjoy every minute.