Drupal (PHP/MySQL) is a possible solution.
Possible with Drupal’s core. Just create a content type called "Blog post".
For listing/pagination, you could use the basic "display on front page" feature, but I’d recommend to use the Views module, which you’ll use for almost all sections of your site, anyway.
Users & user profiles
Possible with Drupal’s core. Each user comes with a profile.
You could use the basic node and comment system from Drupal core (each topic is a node, answers/posts are comments), but if you want a "standard" full feature forum, have a look at the Advanced Forum module.
Posting public events
Possible with Drupal’s core. Just create a content type called "Event" and add all necessary fields.
If you need more features, e.g., displaying your events in a calendar, have a look at the Event Calendar module.
Each clan could be represented by a "group" from the Organic groups module.
Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves.
The User points module is typically used for giving points for certain actions on the site (similar to Stack Exchange’s reputation), but it comes with an API:
[…] provides a callable interface, as well as a hook system for adding or subtracting points to a user account, as well as querying a user's account for how many points they currently have.