Is this what you're trying to do? You can read the list names from a file instead of using an array if you don't want to make changes to the script when the list changes.
#Config Variables
$SiteURL = "https://domain.sharepoint.com/sites/Amy12345/"
$ListNames ="library 1","library 2","library 3"
$filePath = "C:\Users\spadmin\Desktop\pnp.csv"
$csv = Import-CSV $filePath
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
ForEach ($ListName in $ListNames){
#Break Permission Inheritance of the List
Set-PnPList -Identity $ListName -BreakRoleInheritance -CopyRoleAssignments
#Grant permission on Library to User
ForEach($Row in $csv) {
Set-PnPListPermission -Identity $ListName -AddRole $Row.permission -User $Row.user
}
}