While technically accurate that running Exchange in the cloud and Azure Subscriptions may not be the same (e.g. running it in AWS), that’s not the case when running Exchange in Azure (IaaS VMs) because those VMs must be provisioned in an Azure Subscription. However that is confusing the issue since this article and the question is about cloud shell for Exchange Online (Office 365). The key point is the differences between Azure AD tenant (directory is a more accurate term), Azure Subscription, and Office 365 tenant/subscription.
If you have an Office 365 subscription you automatically have an “Azure AD Tenant”, which is where your identities are managed (even if you use ADFS and/or directory synchronization). This, however, does not automatically mean you have an “Azure Subscription”. An Azure AD tenant (or directory) can have zero or more Azure subscriptions associated with it. You do not automatically get an Azure Subscription when you establish an Office 365 tenant.
If you want to use Azure Cloud Shell, an Azure Subscription (however you decide to provision one) must be associated with the same Azure AD directory that is used by your Office 365 Exchange Online tenant. Each user that wants to have Azure cloud shell does not need their own Azure Subscription (but they could if they want). Likewise, they don’t need to have their own storage account (but could if they want one). An organization could establish a single Azure Subscription with a storage account and allow their admins to use it (RBAC permissions). They would each have their own storage container (isolated from each other from within cloud shell, i.e. I don’t think you can change directory between users cloud shells)
The costs to run this would likely be much less than $1 USD as long as you don’t store large amounts of data in it (dozens of GBs). You can estimate this by running the Azure Cost Estimator tool and adding some estimates for a “general purpose storage account” in a region near you (example: a general purpose v1 storage account in West US costs about $0.024 per GB) and “Bandwidth” (network egress traffic for downloading files from the storage account, which is free for the first 5GBs of egress per month). There are also some storage transaction costs but I think those are a fraction of a fraction of a penny for the amount that would be generated for cloud shell use.
One limitation that I have is that exchange online management is limited to only the Office 365 tenant that the Azure AD tenant is associated with. I don’t think (or have not yet found) a way to manage another Office 365 tenant from a cloud shell that is in an Azure Subscription in another Azure AD tenant, which is the case when managing multiple organizations.