Scripting: Displacement modifier visual update required
There is a handy from_pydata method (doc) when you have relatively simple mesh data. When I used this, I didn't have this disconnect after setting the modifiers.
By the way you are setting attributes to the screw modifier which are already default like the Zaxis or the 360° and the merge threshold distance.
Updated code :
import bpy
import bmesh

mesh = bpy.data.meshes.new(&quot;mesh&quot;)
obj = bpy.data.objects.new(&quot;object&quot;, mesh)
scene = bpy.context.scene
bpy.context.collection.objects.link(obj)

# 2: Generate Mesh - Verticies, Edges, and Faces
verts = [(0,0,0),(1,0,0)] #add a line
obj.data.from_pydata(verts, ((0,1),), [])

# 3: Create modifiers for object.
# length of the line object
radius_mod = obj.modifiers.new(name='length', type='DISPLACE')
radius_mod.show_in_editmode = True
radius_mod.show_on_cage = True
radius_mod.strength = -1
radius_mod.mid_level= 0.2
# create a circle
screw_mod = obj.modifiers.new(name=&quot;screw&quot;, type='SCREW')
screw_mod.use_merge_vertices = True