Add filter to the end of the post

2 options:

1) Edit your youtube_video() function so it return a string instead of printing the code

2) The easiest way… if you can edit your theme, place the youtube_video() call after showing your post content

Edit:

<?php
function youtube_video()
{

$ret = "";

$ret .= "<div class="post">";


$newvar = urlencode(get_the_title());
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('http://gdata.youtube.com/feeds/base/videos?q='.$newvar.'&client=ytapi-youtube-search&v=2');
    $maxitems = get_option('novideos');

    $items =is_array($rss->items) ? array_slice($rss->items, 0, $maxitems) : '' ;

$ret .= "<ul>";

if (empty($items)) {$ret .= " 'No current video uploads by '.get_the_title()";}
else foreach ( $items as $item ) :
$youtubeid = strchr($item['link'],'='); 
$youtubeid = substr($youtubeid,1);

$ret .= "<p>Latest Videos of <b>" . get_the_title() . ":</b></p>";
$ret .= "<br>";
$ret .= "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width="320" height="265">";
$ret .= "<param name="movie" value="http://www.youtube.com/v/" . $youtubeid ."&hl=en&fs=1" />";
$ret .= "<!--[if !IE]>-->";
$ret .= "<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/" . $youtubeid ."&hl=en&fs=1" width="320" height="265">";
$ret .= "<!--<![endif]-->";
$ret .= "<p><a href="http://www.youtube.com/v/" . $youtubeid ."">View movie&raquo;</a></p>";
$ret .= "<!--[if !IE]>-->";
$ret .= "</object>";
$ret .= "<!--<![endif]-->";
$ret .= "</object>";
$ret .= "</li>";

endforeach; 
$ret .= "</ul>";
$ret .= "</div>";

return $ret;
}

?>