Python 2, 97 95 92 90 83 bytes
lambda n:[w for i in range(n)for w in'Yeah','But','No'if(len(w)<3)==i%(3-len(w)%2)]
Python 3, 92 9083 8581 bytes
lambda n:[w for i in range(n)for w in['Yeah'in'Yeah','But','No']if(len'No'if('N'in w)<3)==i%(3-len(ww<'N')%2)]
-2 bytes, thanks to ovs
-4 bytes, thanks to Jo King
Python 3, 92 90 85 83 bytes
lambda n:[w for i in range(n)for w in['Yeah','But','No']if('N'in w)==i%(3-(w<'N'))]
-4 bytes, thanks to ovs
-4 bytes, thanks to Jo King