It doesn't matter from a legal perspective which passport she uses to book her flight. The main concern is practical: what strategy will cause the least hassle? Unfortunately, the answer to that may depend on the airline in question; I've found that different airlines have slightly different assumptions and requirements built into their systems.
I would provide the airline with the Irish passport details and let them think of her as an Irish citizen until she checks in for the flight to the US, for which she will need to use her US passport. If at any point the airline asks about her immigration status in the US, though, she should say she's a US citizen and show her US passport if asked.
I've used this strategy with a few EU-based airlines, and they've never asked about my US immigration status on departure, so I've never had to show my US passport before checking in for my return flight. I have seen indications that some airlines might ask about this, though, so she should be prepared.
To the Spanish border authorities, or indeed any EU border authorities, she should show her Irish passport.
To US CBP officers, she should show her US passport.
When she flies out of the US, it is not necessary for her to use her US passport at the TSA security checkpoint. She can show her Irish passport or even a US driver's license.
There's nothing illegal or improper about holding both passports, so she should not worry about showing the "wrong" one at any point. If she does, she can simply show the right one to remedy the situation.