RE: Rollup field to count activities regarding account + contacts linked to account
The rolled up field is doing what it is supposed to be doing, which is count the number of Appointments where regarding is set as the Account record.
This is the expected behavior.
Now, you are seeing 2 appointments on the form because you might have filtered the view to show activities on 'Related "Regarding" Records.
Change this view to show 'This Record Only' and you should see only 1 appointment. (see screenshot below)
Now, coming back to your question if you want to count the related 'regarding' records as well, then you need to:
1. Have a simple whole number field and then have custom logic to increment or decrement the count.
2. You may be able to achieve this by introducing one more rolled up attribute on the Contact. and then, rollup all the child contact rolled up fields on the Account form. But remember, we cannot rollup a rolledup field. So, we would need some workaround there. And I can't think of an easy way to close this loop. So going via a simple whole number would be my preference.