Are these sentences correct?
Ann has gardened all afternoon. She has planted a lot of rose bushes.
Can I also use here the present perfect progressive for example instead of saying "has gardened" can I say "has been gardening"?
...instead of saying "has gardened" can I say "has been gardening"?
Yes, you can. In contemporary AmE, in fact, this is probably more common. These days we tend to prefer to make the imperfective explicit, even when it's not strictly necessary.
In UK English it sounds more natural to say: 1 "Ann has been working in the garden all afternoon" or 2 "Ann spent the afternoon gardening"
You could use 1 during the afternoon or evening of the day in question, it refers to the recent past. Phrase 2 could be used when reminiscing about the day in question, so potentially any time in the future.