Auto-select suitable UTM Zone based on Grid Intersection

There's the utm package, a bidirectional UTM-WGS84 converter for python. It's able to convert a (latitude, longitude) tuple into an UTM coordinate:

import utm
utm.from_latlon(51.2, 7.5)
>>> (395201.3103811303, 5673135.241182375, 32, 'U')

Alright, the answer from Antonio above is definitely right and pointed me in the correct direction. Here is the complete code:

#convert_wgs_to_utm function, see https://stackoverflow.com/questions/40132542/get-a-cartesian-projection-accurate-around-a-lat-lng-pair
def convert_wgs_to_utm(lon, lat):
    utm_band = str((math.floor((lon + 180) / 6 ) % 60) + 1)
    if len(utm_band) == 1:
        utm_band = '0'+utm_band
    if lat >= 0:
        epsg_code = '326' + utm_band
    else:
        epsg_code = '327' + utm_band
    return epsg_code
#Get Bounds of user selected area
bound_points_shapely = geometry.MultiPoint([(limLngMin, limLatMin), (limLngMax, limLatMax)])
# get lat/lng from center
input_lon_center = bound_points_shapely.centroid.coords[0][0] #True centroid (coords may be multipoint)
input_lat_center = bound_points_shapely.centroid.coords[0][1]
# Get best UTM Zone SRID/EPSG Code for center coordinate pair
utm_code = convert_wgs_to_utm(input_lon_center, input_lat_center)
# define project_from_to with iteration
#see https://gis.stackexchange.com/questions/127427/transforming-shapely-polygon-and-multipolygon-objects
project = lambda x, y: pyproj.transform(pyproj.Proj(init='epsg:4326'), pyproj.Proj(init='epsg:{0}'.format(utm_code)), x, y)
# define schema
schema = {
    'geometry': 'Polygon',
}
with fiona.open('projectedShapefile.shp', mode='w', encoding='utf-8', driver='ESRI Shapefile', schema=schema,crs=from_epsg(utm_code)) as c:
    #for each shapely geometry:
    geom_proj = transform(project, geom)
    c.write({
    'geometry': geometry.mapping(geom_proj)})