To retrive the email addresses of organization users, you may need to use the User.Read.All or User.ReadWrite.All permissions. The User endpoint should allow you to read the profile and discover any relationships such as group membership.
Regarding getting the group ID for all groups associated with a DriveItem, the Microsoft Graph API doesn't support this . As a workaround, you can list all groups in your organization and then check their drive for the DriveItem.
//list all groups
var groups = await _GraphClient.Groups.Request().GetAsync();
foreach(var group in groups)
{
Console.WriteLine(group.Id);
}
//And then for each group, check if the DriveItem exists:
var driveItem = await _GraphClient.Groups[group.Id].Drive.Items[driveItemId].Request().GetAsync();