Why can't I use a DSC resource in push mode from a module that is installed in my user's module path?

Processing the DSC configuration runs under a system account, and therefore isn't searching a particular user's PSModulePath. Put the module in one of the standard locations, typically under $env:ProgramFiles\WindowsPowerShell\Modules.

When you say you modified your $env:PSModulePath, I assume you did that for your current user, rather than modifying a machine wide setting.

If you need the resource to have access to resources available to a particular user, some will allow passing credential objects as parameters to the resource.