The question is a bit vague, but try the following:
SELECT usernames.name, COUNT(user.id)
FROM user
INNER JOIN user_username ON user.id = user_username.user_id
INNER JOIN usernames ON user_username.user_username_id = usernames.id
WHERE
user.datecreated BETWEEN '2016-01-01' AND '2016-09-01'
AND (SELECT COUNT(*) where user_id = user.id from user_username) > 1
GROUP BY usernames.name
ORDER BY user.id DESC
I don't think you really need to group user_id in order to get users with more user_names.
, . ( user.id), .
SELECT user.id, COUNT(usernames.name)
FROM user
LEFT JOIN user_username ON user.id = user_username.user_id
LEFT JOIN usernames ON user_username.user_username_id = usernames.id
WHERE user.datecreated BETWEEN '2016-01-01' AND '2016-09-01'
GROUP BY user.id
HAVING COUNT(usernames.name) > 1
ORDER BY user.id DESC
... user, usernames.name, user_username.user_id, user.id, user_username.user_username_id, usernames.id, user_id=user.id ...