rush = 'Net Yards Rushing'
for row in favPrevGM2Reg.findAll("tr"):
if rush in row.findNext('td'): #Change Year for every new season
for item in row.findAll("td"):
favPrevGM2Reg.append(item.text)
favDef_rushYards_L2_1 = float(favPrevGM2Reg[1])

print ("Enter: Total Rushing Yards Allowed from Favored Team Defense for last game played: "),
print favDef_rushYards_L2_1

rush = 'Net Yards Rushing'
for row in favPrevGM2Reg.findAll("tr"):
if rush in row.findNext('td'): #Change Year for every new season
for item in row.findAll("td"):
favPrevGM2Reg.append(item.text)
favDef_rushYards_L2_1 = float(favPrevGM2Reg[0])

What this does is select the beginning td, which you did right, but you want its siblings, not its parents' siblings, so you need to add following-sibling::td directly after the td. This will give you 2 results in order of appearance in the table