This is another in a long line of "Ask a question - Don't like the answer - Start to argue about it and take offence".
The simple legal facts here are the band haven't broken any contract here, you have. As such they will legally be entitled to receive their fee in full.
For what it's worth I would have thought if they were heading away on holiday for several weeks and hadn't heard from you about a first dance then it might have been nice for them to contact you, particularly since presumably they hadn't made you aware in advance of when they would be away. However, they were under no obligation to do so and maybe just presumed at that late stage you had decided to go with something from their existing songbook. Any regular wedding band has all the usual suspects for first dances in their repertoire. As an aside we had the band learn something different for ours and to be honest it was a mistake. Although they did their best, it wasn't something they were polished at and it showed.
Equally, I wouldn't have waited to three weeks before the wedding to make contact with them for the first time in 10 months. Communication is after all a two way street.