You can convert your function:

    var gpmMonthly = gpmMonthly.map(function(image) {
      return image.multiply(31*24).copyProperties(image, ['system:time_start'])
    })

in the following function:

    var gpmMonthlySum = gpmMonthly_list.map(function(image) {
      
      var date = ee.Date(ee.Image(image).get('system:time_start'));
      var year = date.get('year');
      var month = date.get('month');
      
      var typeYear = ee.Number(year).mod(4).eq(0).and(ee.Number(year).mod(100).neq(0)).or(ee.Number(year).mod(400).eq(0));
      
      var days = ee.Algorithms.If(month.eq(1)
                                       .or(month.eq(3))
                                       .or(month.eq(5))
                                       .or(month.eq(7))
                                       .or(month.eq(8))
                                       .or(month.eq(10))
                                       .or(month.eq(12)), 31, 
                 ee.Algorithms.If(month.eq(4)
                                       .or(month.eq(6))
                                       .or(month.eq(9))
                                       .or(month.eq(11)), 30, 
                ee.Algorithms.If(month.eq(2).and(typeYear.eq(0)), 28, 29)));
      
      return ee.Image(image).multiply(ee.Number(days).multiply(24)).copyProperties(image, ['system:time_start']);
    
    });

where days per month are assigned as follows: 31 for January, March, May, July, August, October and December (1, 3, 5, 7, 8, 10, 12); 30 for April, June, September, November (4, 6, 9, 11); 28 for February (2) on not leap year (365 days) and 29 for February (2) on leap year (366 days).

Complete [code][1] looks as follows:
    
        var gpmMonthly = ee.ImageCollection("NASA/GPM_L3/IMERG_MONTHLY_V06")
          .select('precipitation')
          .filterDate('2001-01-01', '2021-09-01');
        
        print(gpmMonthly);
        
        var gpmMonthly_list = gpmMonthly.toList(gpmMonthly.size());
        
        var gpmMonthlySum = gpmMonthly_list.map(function(image) {
          
          var date = ee.Date(ee.Image(image).get('system:time_start'));
          var year = date.get('year');
          var month = date.get('month');
          
          var typeYear = ee.Number(year).mod(4).eq(0).and(ee.Number(year).mod(100).neq(0)).or(ee.Number(year).mod(400).eq(0));
          
          var days = ee.Algorithms.If(month.eq(1)
                                           .or(month.eq(3))
                                           .or(month.eq(5))
                                           .or(month.eq(7))
                                           .or(month.eq(8))
                                           .or(month.eq(10))
                                           .or(month.eq(12)), 31, 
                     ee.Algorithms.If(month.eq(4)
                                           .or(month.eq(6))
                                           .or(month.eq(9))
                                           .or(month.eq(11)), 30, 
                    ee.Algorithms.If(month.eq(2).and(typeYear.eq(0)), 28, 29)));
          
          return ee.Image(image).multiply(ee.Number(days).multiply(24)).copyProperties(image, ['system:time_start']);
        
        });
        
        gpmMonthlySum = ee.ImageCollection(gpmMonthlySum);
        
        var months = ee.List.sequence(1, 12);
        
        var monthlyMean = ee.ImageCollection.fromImages(
              months.map(function (m) {
                return gpmMonthlySum.filter(ee.Filter.calendarRange(m, m, 'month'))
                            .select(0).mean()
                            .set('month', m);
        }))
        
        monthlyMean = monthlyMean.filter(ee.Filter.rangeContains('month', 5, 9));
        
        print(monthlyMean);


  [1]: https://code.earthengine.google.com/af3a5e5571b086b384058d37181324e1