module に分ける意図が
  class NetAudio にインスタンスmethod を追加するところにある
のか、
  module 内に class を定義し、その instance 
に何かやらせるところにあるのか、
によって変わります。

前者でしたらこんな感じでしょうか
module UPnP
   def upnp_render_play
     puts "#{__method__} device:#{@device}"
   end
end

module WebAPI
   def webapi_au_play
     puts "#{__method__} ip:#{@ip}"
   end
end

class NetAudio
   include UPnP
   include WebAPI
   def initialize(device)
     @device, @ip = device
   end
end

後者でしたらこんな感じでしょうか
class NetAudio
   def initialize(device)
     @upnp = UPnP::UPnP_Render.new(device[0])
     @webapi = WebAPI::WebAPI_AU.new(device[1])
   end
   def webapi_au_play
     @webapi.webapi_au_play
   end
   def upnp_render_play
     @upnp.upnp_render_play
   end
end

名前が面白くないので、私でしたら
UPnP_Render の def upnp_render_play を def render_play に
WebAPI   の def webapi_au_play  を  def au_play に
して
class NetAudio
   attr_reader :upup, :webapi
   def initialize(device)
     @upnp = UPnP::UPnP_Render.new(device[0])
     @webapi = WebAPI::WebAPI_AU.new(device[1])
   end
end
として,こんなふうに呼びます

device=["device info data","aa,bb,cc,dd"]
obj = NetAudio.new(device)
obj.webapi.au_play
obj.upnp.render_play