I assume you editted them heavily. Now they are again invalid CSV data unfortunately. And seemingly inconsitent as well … there seems to be a comma missing in row 6 after “Onboarding”.
So I corrected them slightly to be at least usable for an example. Since the data do not have a valid header row I created numbered headers and skipped the first row:
$Header = 1..28 | ForEach-Object {"Clmn$($_)"}
$CSVInputData = @'
"LBNumber","FileName","EPInfo","FileType"
20220111,5,N,,1234,4,,1,3,1,1,M,M00007.tif,"Letter",,,UH,,,,,,,,,,
20220111,5,N,,1234,4,,1,1,1,1,M,M00001.tif,"Letter",,"Resume","UH",,,,,99999,,"BLUE","TEST",,,
20220111,5,N,,1234,4,,1,1,,1,M,M00002.tif,"Letter",,,"UH",,,,,,,,,,,
20220111,5,N,,1234,4,,1,1,,2,M,M00003.tif,"Letter",,,"UH",,,,,,,,,,,
20220111,5,N,,1234,4,,1,1,,3,M,M00004.tif,"Letter",,,"UH",,,,,,,,,,,
20220111,5,N,,1234,4,,1,2,1,1,M,M00005.tif,"Letter",,"Onboarding",,,,,,88888,,"JOHN","DOE",,,
20220111,5,N,,1234,4,,1,2,,1,M,M00006.tif,"Letter",,,UH,,,,,,,,,,
20220111,5,N,,1234,4,,1,3,1,1,M,M00007.tif,"Letter",,,UH,,,,,,,,,,
20220111,5,N,,1234,4,,1,3,,1,M,M00008.tif,"Letter",,,UH,,,,,,,,,,
'@ -split "\n" |
Select-Object -Skip 1 |
ConvertFrom-Csv -Header $Header
And since you have a lot of empty columns and columns with the same value in it I picked some columns to play with.
$PropertyList = 'Clmn5', 'Clmn9', 'Clmn10', 'Clmn11', 'Clmn16', 'Clmn17', 'Clmn24', 'Clmn25', 'Clmn22'
Now we can output them to the concole to have a visual check:
$CSVInputData |
Select-Object -Property $PropertyList |
Format-Table -AutoSize
… that looks something like this:

If your data starts with a data set without the value you want to continue down the column you should have an initial value:
$CurrentValue = 'n/a'
Now we check in each single row the cell Clmn22 for a value and if it has one set it as the new $CurrentValue and output it as it is. If it does not have a value insert the $CurrentValue instead and output this.
$CSVInputData |
Foreach-Object {
if ($_.Clmn22) {
$_
$CurrentValue = $_.Clmn22
}
else {
$_.Clmn22 = $CurrentValue
$_
}
} |
Select-Object -Property $PropertyList |
Format-Table -AutoSize
And of course we pick our properties of interest and output them to the console.
Now it looks like this:

As you can see we do not need a lot of intermediate CSV files. We can work with the data we saved to a variable in the first place.
And of course for your production version you would use Export-Csv instead of Format-Table at the end of your pipeline.