If I had to guess why they decided to start with this mission in particular, I think it is probably because it provides a better PR opportunity than simple orbital tourism. SpaceX are clearly very image conscious, and beginning by taxiing billionaires into orbit perhaps sends the wrong signal. It's not doing anything that Russia hasn't already done, and undercuts the idealistic image they put across.
On the other hand, sending people beyond LEO for the first time in over forty years is clearly a major accomplishment. And having them be private citizens, even very rich ones, sends a very strong message that private spaceflight has come of age.
Another reason is that NASA doesn't want tourist flights to the ISS, and no private destinations were close to ready. Lets say CCP funding was delayed, and a private team offered $400m for tourist flights, they'd have to develop two different Dragon capsule specifications. One for ISS, and one for private tourism. Similar, but with non-identical requirements. With the CCP further along, the different specifications may no longer be an issue.
Another reason is SpaceX doesn't have a training program for space tourists, and they'd require a training program. The Russians require 3-6mo of training for a space tourist on the Soyuz.
That said, there are reasons SpaceX went for this plan now, and not before.
The surprising thing about this announcement is that its a private mission. SpaceX has long resisted private tourism, to pursue CRS and Commercial Crew missions. I'm sure several billionaires would have written a large check, long ago, to go into orbit.