Try this where the file name starts with a page number prefix in case the bounds are the same:
//resolution and anti-aliasing?
var res = 72;
var aa = true;
var pngFolder = Folder.selectDialog("Select the PNG Save folder", "");
var doc = app.documents.item(0);
var n = fileName(doc.name);
var nPrefs = app.generalPreferences.pageNumbering;
app.generalPreferences.pageNumbering = PageNumberingOptions.ABSOLUTE;
var dPages = doc.pages;
for (var i = 0; i < dPages.length; i++){
var pn = dPages[i].documentOffset + 1;
var bnds = dPages[i].bounds;
var expName = exportName(n, pn, bnds);
var thePath = pngFolder + "/" + expName + ".png"
app.pngExportPreferences.properties = {antiAlias:aa, exportingSpread:false, exportResolution:res, pngExportRange:1785742674, pageString: pn.toString()}
doc.exportFile(ExportFormat.PNG_FORMAT, File(thePath), false);
};
app.generalPreferences.pageNumbering = nPrefs;
/**
* Strip Extension
* the file name
* value file name with no ext
*
*/
function fileName(n){
var na = n.split( "." )
if ( na.length > 1 ) {
na.length--;
}
na = na.join(".");
return na
}
/**
* The export file name
* document name
* page number
* page bounds
* file name as string
*
*/
function exportName(n, pn, b){
var pre = pn.toString();
if (pre.length < 2) {
pre = "0" + pre;
}
var w = b[2]-b[0];
var h = b[3]-b[1];
var s = pre + "_" + n + "_" + "[" + w + "]X[" + h + "]";
return s
}