
If you want to do it with AviSynth, you can use the ConvertFPS command theoreticly anywhere, but in your case I would put it at the end of your script, so do it like
#------------------------------------------------------
# 1 Load Menu Background & Mask
BackGround = AviSource("Background.avi").ConvertToRGB32()
Mask = AviSource("Mask.avi").ConvertToRGB32()
# 2 Load Clips
Clip1=AviSource("ep601.avi").ConvertToRGB32()
Clip2=AviSource("ep602.avi").ConvertToRGB32()
# 3 Start the Menu as a blank clip
Menu = BlankClip(Background).loop(600)
# 4 Size & Place the Clips
Clip1 = Clip1.LanczosResize(263, 220)
Menu = Layer(Menu, Clip1, "add", 255, 161, 231)
Clip2 = Clip2.LanczosResize(279, 210)
Menu = Layer(Menu, Clip2, "add", 255, 529, 240)
# 5 Mask & Place the Background
BackGround = Mask(BackGround,Mask)
Layer(Menu, BackGround, "add", 255, 0, 0)
# 6 Resize to D1
BilinearResize(720, 480)
ConvertFPS(29.970)
You have to load this avs script into a mpeg2 encoder - CCE, TMPGEnc, HCEncoder or QuEnc. That encoder will produce from this scipt a DVD-Video compatible mpv stream, which you use in your authoring program.
In the case you want to use dgpulldown you have to first download it from http://neuron2.net/dgpulldown/dgpulldown.html. Then you take your FINSISHED 23.976fps MPEG, and use it to set the pulldown flags from 23.976 to 29.97. Sorry I have never done this, but most users prefer this mehod, so it's worth a try.
The third method uses DVDLabPro for DVD authoring. If you have your FINISHED 23.976fps MPEG, import it to DVDLabPro, it will ask you want to the the 2:3 pulldown, just confirm it.