The Emperor was very, very paranoid about the status of House Corrino. He was the emperor, yes, but Leto was his cousin, also of noble birth, and Leto was vastly more popular than anyone else at the time in the Landsraad. Leto was the unofficial spokesman of the Landsraad, in fact, their "highest position". That alone sent Shaddam into fits, someone who was able to claim the throne by virtue of noble blood was popular and well supported among most of the noble houses. However, Leto also had a huge private army, and, House Atreides developed training that made their soldiers superior to the Sardaukar.
"The Padishah Emperor turned against House Atreides because the
Duke's Warmasters Gurney Halleck and Duncan Idaho had trained a
fighting force -- a small fighting force -- to within a hair as good as
the Sardaukar. Some of them were even better. And the Duke was in a
position to enlarge his force, to make it every bit as strong as the
This is a quote from Thufir Hawat.
If the Atreides had managed to train their entire army in this manner, they would have had a force bigger than the army of House Corrino that was also better in combat than the Sardaukar. I assert that they would have been better because they were clever where the Sardaukar were brutal. Shaddam IV knew all of that when he set in motion the plan to lure the Atreides to Dune and use their age old vendetta with the Harkonnens to destroy them. You see, your question asks why the Emperor agreed, but, really it was his plan. Hence, "plots within plots". He had plotted all of this and made the Harkonnens think it was their own idea!
As to "why does it have to be on Arrakis but not Caladan"? If you're asking why the emperor or the Baron can't attack until after the Atreides leave Caladan, it's because Caladan is a huge planet with billions of people and wantonly attacking the fiefdom of a noble house with billions of witnesses is certain to bring censure from the Landsraad. On Dune, the only real witnesses who aren't Atreides are the Fremen, and they aren't going to say anything.