Android 6+ and account permissions: where have they gone to?
The "dangerous" permissions are listed in Table 1 on this 
permissions page. There are also "normal" permissions, listed here. Normal permissions are automatically granted to the app.

The dangerous permissions are partitioned into groups. Before Android 6, the Android Store would present the list of groups (though it included "normal" permission, too) and you could either choose to download and accept all the permissions or not download. With Android 6, you accept the permission when you run the app, not when you download it. Rather than accept individual permissions you accept or deny an entire group.

When you run the app and grant a permission, the permission stays granted indefinitely. If you want to revoke it, you can. Go to Android Settings > Apps > your app > Permissions. Then click the green slider-button for the permission you want to change.

As for the behavior in the app, the big change is from the developer's point of view. Before Android 6, the app did not need to check whether a permission was granted (all were automatically granted when you download the app). With Android 6, if the app has been granted a permission, it can do the associated action. If not, it will either crash or, if the developer wrote additional code, it may do something more elegant.

You do have concerns about account access. I'm not sure what to say except that with Android 6, the app cannot get account information without you accepting access to contacts. See the table.

This is a general answer and you many need to post more specific questions for additional details. Hope this helps.