The thing is, the profits made due to roaming charges were just a money grab. There is not technological reason to put extra costs on it.
There are costs, however. Roaming users use bandwidth, you have to track and report usage to see if plan limits are exceeded, etc. Those costs are not near what some roaming charges are, and would be offset by users who roam on your network, so I agree it's also a money grab.
Beyond that, by having roaming charges and caps it prevents users from subscribing to a plan in a country where plans are significantly cheaper and then using them on anotehr operators network exclusively. Even the EU rules are setup to prevent that. Which is why I think teh article headline is a bit misleading. EU users won't have to pay a per day charge just to roam, but can be charged for usage above preset caps; so small amounts of raoming incur no charges but larger ones can.
There is no EU mobile data plan as such. Each country had its own rules. Here in Ireland we tend to pay significantly higher rates than many other EU countries and than the UK…sigh. Size matters indeed (our economy is simply too small to encourage price wars, etc.).
That's the problem with mobile operators being country based and not EU wide. If you contrast that to the US, despite being the same size and with more states than the EU, cell phone plans are uniform across the US, with the exception of some small virtual operators. The only variant might be local taxes. This was the result of the regional companies merging to create the big 4 (now 3) companies; as well as the growth of the two major tower operators which enabled one tower to serve multiple companies.
It wasn't originally that way, and roaming fees were high and minutes low; but as companies consolidated roaming charges went away. The sole exception might be if you have Company A and live in a place where only Company B has towers and always roam; there may be some contractual clause that says Company A can cancel your service.