I did not quite get the 'Sets' input to your function or why do you add_edges_from(nodes)
you use nodes as input and not edges!. So to answer your question of plotting disconnected graphs in 2 separate files I reproduced the problem without the custom_labels as it depends on the 'Sets' input and I sent the Edges2 as an input for nodes and Sets as well. As suggested by @joel I used the weakly_connected_component_subgraphs
function and then looped the output of the function save each graph separately. So in the end the original graph is saved in original_graph.png , the subgraphs are saved in graph1.png and graph2.png respectively.
def create_graph(G,nodes,Sets):
G.add_edges_from(nodes)
#value assigned to each world
custom_labels={}
custom_node_sizes={}
node_colours=['y']
for i in range(0, len(Sets)):
custom_labels[i+1] = Sets[i]
custom_node_sizes[i+1] = 5000
if i < len(Sets):
node_colours.append('b')
nx.draw(G,node_list = nodes,node_color=node_colours, node_size=1000, with_labels = True)
plt.savefig("original_graph.png")
plt.show()
G_comp = nx.weakly_connected_component_subgraphs(G)
i = 1
for comp in G_comp:
nx.draw(comp,node_color=node_colours, node_size=1000, with_labels=True)
#show with custom labels
fig_name = "graph" + str(i) + ".png"
plt.savefig(fig_name)
plt.show()
i += 1
Edges2 = [(1, 2), (1, 3), (1, 4), (4, 5), (6, 7), (6,8)]
G = nx.DiGraph()
create_graph(G,Edges2,Edges2)
Original graph

graph1 and graph2

EDITED BY AKI:
I have added the labels which I needed (see comments). The last part of the code is:
i = 1
custom_number = 1;
for comp in G_comp:
dictfilt = lambda x, y: dict([ (i,x[i]) for i in x if i in set(y) ])
wanted_keys = (range(custom_number,custom_number + len(comp)))
newdict = dictfilt(custom_labels, wanted_keys)
nx.draw(comp,node_color=node_colours, node_size=1000, with_labels=True, labels = newdict)
#show with custom labels
fig_name = "graph" + str(i) + ".png"
plt.savefig(fig_name)
plt.show()
custom_number += len(comp)
i += 1
This improved version picks up necessary data from dictionary.
Many thanks to @author of the answer