Generally speaking, whenever you look for a CMS that can do {insert required functionality here} running PHP/MySQL you are probably going to be looking at the Big Three:
Now, if you Google for X vs. Y vs. Z from the above, you will get an endless stream of blog posts making the case for X over Y or Z or Z over Y or X and you won't be any better off than you were before. Ultimately it will come down to whichever one of the above seems easiest for you to understand and manipulate to get the desired results.
I'm a WordPress guy, so most of the rest of my answer is going to be from a WordPress standpoint. For your requirement of different or custom user roles, WordPress can support that. For the Dashboard "with relevant info" you would probably need to spell that out a bit better and I think you may have a harder time getting that functionality. However, you can always build (or have someone build it for you) something custom to meet your needs. The rest of your requirements sounds suspiciously like a booking system and WordPress has plugins for that. What you may also find intriguing is WordPress's Network (multisite) Mode. Instead of having one site and trying to funnel multiple gardener's schedules through it, you could combine Network Mode with one of the scheduling plugins and have a unique site (via subdomain or subdirectory) for each gardener and run the scheduler individually for all of them. In this configuration, your custom dashboard may or may not be needed but you could certainly configure the Network to share users between sites and create some functionality to suit. If the functionality you are looking for is not present in the plugins I linked, you could either keep looking or simply revert to writing your own functionality.
However, if you determine that WordPress doesn't suit you for whatever reason, then I would look to Drupal before Joomla. Drupal is a very powerful CMS platform but *that power comes at the cost of increased complexity and ease of use/deployment* and you may find it harder to spin up with Drupal than WordPress. On the positive side for Drupal, it does have a more complete/granular user role management function in its "out of the box" state than WordPress does and you will see (if you do the research) that many people do think it can be extended further via additional coding than WordPress might be able to. It's almost impossible to quantify that or to separate fact from all of the FUD that's out there so take this with a healthy dose of skepticism and please do additional research.