Yes, empty rows were not being handled, and it didn't recover well from missing goals or tasks either (for example, your Scorecard had "Required", but on Tasks, it was "Required Task". Replace the ShowGoalsAndTasks subroutine with this and try again. I highlighted the changes.

Sub ShowGoalsAndTasks()
    Application.ScreenUpdating = False

    BegRw = 3
    GoalRw = 7
    GoalCol = 10 ' Col J
    Rows(BegRw & ":" & Rows.Count).Hidden = False
    TaskEndRw = Range("A" & Rows.Count).End(xlUp).Row

    ' Start with all rows hidden
    Rows(BegRw & ":" & TaskEndRw).Hidden = True

    With Sheets("SCORECARD")
        Do Until .Cells(GoalRw, GoalCol).Value = "" ' Loop through selected tasks
            GoalTxt = .Cells(GoalRw, GoalCol - 3).Value
            TaskTxt = .Cells(GoalRw, GoalCol).Value
            Do Until Cells(BegRw, 1).Value = GoalTxt Or BegRw > TaskEndRw
                BegRw = BegRw + 1 ' Find selected goal
            Loop
            If BegRw > TaskEndRw Then
                MsgBox GoalTxt & " goal not found."
                BegRw = 3
            Else ' Found it
                If TaskTxt = "Not Pursuing" Then
                    Rows(BegRw - 1).Hidden = False
                Else
                    Rows(BegRw).Hidden = False ' Goal Name
                    BegRw = BegRw + 1
                    EndRw = BegRw
                    If TaskTxt = "Pursuing - Show All Tasks" Then ' Find the end of this goal section
                        Do Until Left(Cells(EndRw, 1).Value, 12) = "Not Pursuing" Or EndRw > TaskEndRw Or _
                          Cells(EndRw, 1).Value = .Cells(GoalRw + 1, 2).Value
                            EndRw = EndRw + 1
                        Loop
                    Else
                        Do Until Cells(BegRw, 1).Value = TaskTxt Or BegRw > TaskEndRw
                            BegRw = BegRw + 1 ' Find selected task
                        Loop
                        If BegRw > TaskEndRw Then
                            MsgBox TaskTxt & " task not found."
                            BegRw = 3
                        Else ' Found it
                            EndRw = BegRw + 1
                            Do Until Cells(EndRw, 1).Value <> TaskTxt
                                EndRw = EndRw + 1 ' Find end of selected task
                            Loop
                        End If
                    End If
                    If Not BegRw > TaskEndRw Then
                        Rows(BegRw & ":" & EndRw - 1).Hidden = False
                    End If
                End If
            End If
            If .Cells(GoalRw + 1, GoalCol).Value = "" Then
                GoalRw = .Cells(GoalRw + 1, GoalCol).End(xlDown).Row
            Else
                GoalRw = GoalRw + 1
            End If
            If .Cells(GoalRw, GoalCol).Value = "" And GoalCol = 10 Then ' Start next set of columns
                GoalRw = 7
                GoalCol = 20 ' Col T
                If .Cells(GoalRw, GoalCol).Value = "" Then
                    GoalRw = .Cells(GoalRw + 1, GoalCol).End(xlDown).Row
                End If
            End If
        Loop
    End With

    ' Start with all employee columns visible
    Columns("C:AZ").Hidden = False
End Sub