when you do this, you use the float value for lattitude and longitude and you let the String class decide how many decimals to set. The default is 2.
a few lines above you have the 6 digit String lat_str and lng_str ready to be used
lattitude = gps.location.lat();
lat_str = String(lattitude , 6); // latitude location is stored in a string
longitude = gps.location.lng();
lng_str = String(longitude , 6); //longitude location is stored in a string
so that's what should use instead of the float value
String serverPath = serverName + "?id=" + id + "&lat=" + lat_str + "&lng=" + lng_str + "&btn=" + button + "&btn2=" + button2;