I'm not an expert in freelancing in Ireland, but elsewhere in the world, anything between two weeks and three months cancellation notice on freelance contracts is extremely common, including in the UK.
20 working days is sufficient time for the agency to do interviews and find a suitable replacement contractor if you decide to terminate the agreement, and gives you sufficient time for you to make arrangements to find a new contract if the company decides to get rid of you.
On a long-term contract such as this, this length of notice period would seem reasonable on both sides and perfectly common practice. You can obviously ask for more or less, particularly if they'd suggested something lopsided (e.g. that they need to give you a week and you need to give them three months), but in this case it's even and equitable. I'd generally consider this to be a reasonable contract term.