You seem to have been reasonable and given your employer more notice of the days you wish to take as holiday than required (you should give notice of the same length as holiday required) and it may seem unfair, but yes, an employer is under no legal obligation to give you specific days as holiday unless it is an express term in your contract of employment.
If it is not an express term in your contract the employer is legally correct in not agreeing to your dates, though I would expect any reasonable employer to try to agree with a valued employee, but they are under no obligation to do so. I suggest you try to reason with your employer