You are already following the standards, what's confusing about it?
You always need to keep in mind 3 things:
Tables names should be in plural (because it is less likely to conflict with reserved keywords).
Use snake_case (which you are already doing).
An intermediate table's name should be composed by the names of the referenced tables, and respects alphabetical order, example:
users
id - integer
name - string
roles
id - integer
name - string
role_user # notice here that it is singular and alphabetically ordered
user_id - integer
role_id - integer
And for sure it comes down to preferences, I just stated what's commonly used among developers.