You never change the value of strFind because it is outside of your loop, so you will always search for the same word...
Try
Sub SelectVariableRange()
Dim strFind As String
Dim rngFind As Range
Dim i As Integer
Dim count
count = 56
Do Until Range("H" & count) = ""
    strFind = Sheets("Instructions").ActiveCell("H" & count).Value
    Set rngFind = Sheets("Forecast").Cells.Find(What:=strFind, LookAt:=xlPart)
    'check if value is found
    Do While Not rngFind Is Nothing
        i = 0
         Do While rngFind.Offset(0, i + 1) = ""
              i = i + 1
         Loop
        rngFind.Resize(1, i + 1).EntireColumn.Delete Shift:=xlShiftToLeft
        Set rngFind = Sheets("Forecast").Cells.Find(What:=strFind, LookAt:=xlPart)
    Loop
count = count + 1
Loop
End Sub