what is the difference between (a two-day holiday) and (two days' holiday) ?
Both are correct but grammatically different.
In "a two-day holiday," the noun is "holiday" (that's why you use the article "a") and "two-day" modifies "holiday." "Two days' holiday" can be understood as "two days of holiday," and I'd say the main noun is "days." Actually, the first phrase is singular while the second one is plural:
- A two-day holiday is always welcome.
- Two days' holiday are always welcome.