How do I create a new admin sub page and how to make it appear in the admin menu? Let's say I have to create an extra users management views block for contributors role only, with some different columns, filters and actions available.

How do I create a simple page which is restricted to some roles only and automatically has the backend theming to put my views block in there? (I always put views blocks on pages, it makes editing views easier)

And last, how can I make that page appear in the admin toolbar as sub item of admin/people?

Do I have to write a custom module for that or maybe create a template file? Or is that maybe all in all a wrong approach?
Easiest way I think of is to create a page display for you view. Set the path to admin/people/mypage and under the menu settings in views choose tab, give your menu item a title and keep the menu setting at Navigation as it defaults to.

Now if you navigate to admin/people you will see a new tab with your page and menu title.

In the views configuration you can add access restriction to your URL / menu item.

If you insist on not creating a page display and instead want to place your block on a page, without coding you own module I would use Panels and Page Manager. You will need the modules Ctools and Panels. Under structure and pages, create a new page and give it your URL, set it to have a menu item (as described in the Views example) and use Panels as variant type. Once your Panel is created you can place your block into any region available in the layout you choose.