I have simplified the process so that anyone can reproduce it (in my script it is a problem within a workflow, no functions involved, therefore I can`t save these values in variables and then show them by console). The first thing is to use powershell ISE.
    function AAA {
        $datum1 = New-Object -TypeName PSObject
        $datum1 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
        $datum1 | Add-Member -MemberType NoteProperty -Name ColumnB -Value "BB"
        return $datum1
    }
    
    function BBB {
        $datum2 = New-Object -TypeName PSObject
        $datum2 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
        $datum2 | Add-Member -MemberType NoteProperty -Name ColumnC -Value "CC"
        $datum2 | Add-Member -MemberType NoteProperty -Name ColumnD -Value "DD"
        $datum2 | Add-Member -MemberType NoteProperty -Name ColumnE -Value "EE"
        $datum2 | Add-Member -MemberType NoteProperty -Name ColumnF -Value "FF"
        return $datum2
    }
    
    AAA
    BBB
Output:
    ColumnA ColumnB
    ------- -------
    AA      BB     
    AA             
Any idea why this happens?
EDIT: I have solved this "sh1t" in the following way
function AAA {
    $datum1 = New-Object -TypeName PSObject
    $datum1 | Add-Member -MemberType NoteProperty -Name Index -Value "1"
    $datum1 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
    $datum1 | Add-Member -MemberType NoteProperty -Name ColumnB -Value "BB"
    $datum1
}
function BBB {
    $datum2 = New-Object -TypeName PSObject
    $datum2 | Add-Member -MemberType NoteProperty -Name Index -Value "2"
    $datum2 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
    $datum2 | Add-Member -MemberType NoteProperty -Name ColumnC -Value "CC"
    $datum2 | Add-Member -MemberType NoteProperty -Name ColumnD -Value "DD"
    $datum2 | Add-Member -MemberType NoteProperty -Name ColumnE -Value "EE"
    $datum2 | Add-Member -MemberType NoteProperty -Name ColumnF -Value "FF"
    $datum2
}
AAA |? {$_.Index -eq "1"} | FT
BBB |? {$_.Index -eq "2"} | FT
Anyway, can someone explain what's going on? I would really like to understand the reason and look for related information
EDIT2: Reply to Palle Due,
it doesn't work at all for my scenario as it adds a bit more complexity.
Out-Host is not an option. Example provided:
    workflow Get-Report
        {
            param ([string[]]$computername)
            foreach -Parallel ($computer in $computername) {
                sequence {
                    InlineScript {
                        $AAA = Invoke-Command -ScriptBlock {
                            $datum1 = New-Object -TypeName PSObject
                            $datum1 | Add-Member -MemberType NoteProperty -Name Index -Value "1"
                            $datum1 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
                            $datum1 | Add-Member -MemberType NoteProperty -Name ColumnB -Value "BB"
                            return $datum1
                        }
                        $AAA | Out-Host
        
                        $BBB = Invoke-Command -ScriptBlock {
                            $datum2 = New-Object -TypeName PSObject
                            $datum2 | Add-Member -MemberType NoteProperty -Name Index -Value "2"
                            $datum2 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA"
                            $datum2 | Add-Member -MemberType NoteProperty -Name ColumnC -Value "CC"
                            $datum2 | Add-Member -MemberType NoteProperty -Name ColumnD -Value "DD"
                            $datum2 | Add-Member -MemberType NoteProperty -Name ColumnE -Value "EE"
                            $datum2 | Add-Member -MemberType NoteProperty -Name ColumnF -Value "FF"
                            return $datum2
                        }
                        $BBB | Out-Host
                    } #endinlinescript
                } #endsequence
            } #endforeach
        } #endWF
        
        $results = @()
        $results = Get-Report -Verbose -Computer "localhost","localhost"
        $results | FT
    


ColumnBproperty to$datum2that gets shown as well. If you call BBB AAA, you get the expected output, but not as a table.