Why you get this output
This is cause by not all kind of 'Genes' in int_genes_melt have these three kind(['BT474', 'both', 'SKBR3']) of 'pulldown'.
Take the first category (The first box and the associated points on the graph) of 'Genes' as an example. There is only one red box, indicating that in the first category the 'pulldown' attributes of all datapoints' are 'SKBR3'('SKBR3' is colored as 'tab:red' according to the hue_order).
The boxplot behavior. The boxes representing 'BT474' and 'both' is missing. This is because that there is no such data in the first category that have these two kind of 'pulldown'. As a result, only the last one of the three boxes belong to the first category of 'Genes' is plotted.
The stripplot behavior, the points of the first category is plotted at the center, about where the second box of 'both' is located, just on the left of the box 'SKBR3'.
So you can see in the first category the points is located at the left of the box. As another example, in the fifth category, however, all data have 'both' as their 'pulldown' attribute, so the second box of the three box is plotted, just aligned with the stripplot.
You can refer to the document of boxplot, search on the page with "Draw a boxplot with nested grouping when some bins are empty", and you can find an official example illustrating this behavior of the boxplot.
How to fix it
You can add hue='pulldown' attribute and set dodge=True. In this way, the stripplot of each category will also be devided to three strips according to there pulldown attribute.
You can refer to the document of stripplot and you willl find that you can "Draw each level of the hue variable at different locations on the major categorical axis".
The following is a code example:
Without this hue= and dodge=True:
import seaborn as sns
import matplotlib.pyplot as plt
palette = ['tab:blue', 'tab:orange']
tips = sns.load_dataset("tips")
sns.stripplot(data=tips, y='total_bill', x='day', color='black')
sns.boxplot(data=tips, x="day", y="total_bill", hue="time", hue_order=['Lunch', 'Dinner'], palette=palette)
sns.despine()
plt.show()
Which gives(Notes that the boxplot and the stripplot are not aligned, the third and the fourth column are just like your situation):
And after fixing:
import seaborn as sns
import matplotlib.pyplot as plt
palette = ['tab:blue', 'tab:orange']
tips = sns.load_dataset("tips")
sns.stripplot(data=tips, y='total_bill', x='day', hue="time", dodge=True, color='black')
sns.boxplot(data=tips, x="day", y="total_bill", hue="time", hue_order=['Lunch', 'Dinner'], palette=palette)
sns.despine()
plt.show()
Which gives:

As for your code, I think you should use(as @Michael has pointed out):
sns.stripplot(data=int_genes_melt, y='value', x='Genes', hue='pulldown', hue_order=['BT474', 'both', 'SKBR3'], dodge=True, color='black')
You can also turn off the legend refering to this link if you want.